Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Hlavní novinkou verze v0.15 jsou tzv. streamlety, pomocí kterých lze rozšiřovat funkcionalitu, a paralelní zpracování (využívá POSIX MQ), díky kterému lze např. počítat SHA-256 hashe více souborů současně nebo paralelně získávat metadata ze souborů (Exif, JPEG, PNG, PDF atd.) nebo paralelně vyhodnocovat XPath výrazy. Dále byla vylepšena práce s XML (podpora XInclude a různých režimů hodnot u XPath výrazů) a pro kódování čísel se nově používá SLEB128.
Tiskni
Sdílej:
Předpokládám, že to paralelní zpracování stále předává data mezi filtry sériově jednou rourou
Ano. Tohle je tak nějak podstata těch Relational pipes, že jde o proud dat, který se dá předávat rourou mezi procesy. :-)
To paralelní zpracování se odehrává uvnitř jednoho modulu. V současnosti je implementované v relpipe-in-filesystem a bude v relpipe-tr-streamlet. Ve zkratce to funguje tak, že rodičovský proces forkne podprocesy, a pak posílá úlohy do POSIX MQ fronty, ze které si je podprocesy berou. Podprocesy pak zapisují do společného STDOUT, kde se jen synchronizují přes zámek (POSIXový semafor). Podrobněji je to rozepsané v oznámení nové verze.
nebo je tam nějaká obezlička i pro paralelizované předávání?
Není. Teoreticky by se dalo vymyslet něco na způsob: do roury by každý pod-proces zapsal jen odkaz na sdílenou paměť nebo frontu či soket a data by už tekla tamtudy. Ale nevidím v tom moc smysl – jednak to úzké hrdlo bude někde jinde (počítání hashů nebo zjišťování metadat atd. ti zabere více času než předání výsledku nebo načtení názvu souboru ze vstupu) a jednak by to narušovalo transparentnost (dneska tu rouru můžeš postavit přes několik počítačů a přeposílat to po síti přes SSH nebo TCP či SCTP).
Něco podobného se tu diskutovalo minule, když se řešilo, zda by nešlo mít v unixu ty roury mezi procesy obousměrné a umožnit procesům si nějak domlouvat formát dat. Teoreticky by to šlo, ale vypadá to, že by to bylo víc práce než užitku. Podobně jsou na tom ty fantazie o objektovém OS – teoreticky by to bylo skvělé, ale otázka je, kdy/jestli si na to někdo udělá čas a reálně to implementuje. Do té doby mi přijde lepší stavět na tom, co máme a jen to mírně vylepšovat, posouvat dál.
Možná až/jestli bude ta alternativní implementace postavená (asi) na GraalVM, kde všechno poběží v jednom procesu a místo serializace a deserializace proudů bajtů se budou jen volat metody jednoho programu… tak tam by šlo přidat i tuhle optimalizaci (záznamy by mohly i mezi jednotlivými fázemi putovat paralelně).
Možná až/jestli bude ta alternativní implementace [...]Tuto evoluci si můžeš ušetřit a skočit rovnou na TensorFlow
Něco podobného se tu diskutovalo minule, když se řešilo, zda by nešlo mít v unixu ty roury mezi procesy obousměrné a umožnit procesům si nějak domlouvat formát dat.Treba neco jako
socketpair(AF_UNIX, SOCK_STREAM, 0, fd);?
Ano. Teoreticky by stačilo, kdyby shell1 místo pipe() zavolal socketpair() a nastavil ho procesům na příslušné STDIO FD. Asi by tam bylo potřeba doladit nějaké detaily (kolem zavírání?) ale v zásadě by to mohlo fungovat jako lepší náhrada jednosměrné roury (pro programy, které s touto funkcionalitou nepočítají).
Program by pak mohl i zapisovat do STDIO resp FD 0 a tím něco signalizovat procesu, který mu má poskytovat data, a mohl by i číst ze STDOUT resp. FD 1 a dívat se, co mu signalizuje konzument jeho dat. Nevím ale, jak by měl vypadat ten protokol – která strana by měla začít s komunikací a zkoušet, jestli druhá strana podporuje obousměrné roury. Druhá strana totiž může být klasický program podporující jen jednosměrné roury a pak bychom čekali na zprávu od konzumenta našich dat, která by nikdy nepřišla. To by sice „vyřešil“ nějaký ten timeout, ale ten by přidal konstantní zpomalení ke všemu, co podporuje jen jednosměrné roury (minimálně v počátku drtivá většina programů), takže tudy cesta nevede.
Asi by to tam šlo nějak dohackovat ve stylu: pokud program podporuje obousměrné roury, tak by měl před prvním voláním read()/write() zavolat nějakou jinou funkci, která by druhému procesu poslala na pozadí signál, že jeho protějšek podporuje obousměrné roury. Ten druhý proces by pak věděl, že před posíláním výstupu si má např. přečíst z FD 1, jaké formáty jeho protějšek podporuje. Tím by možná šel zajistit plynulý přechod systému z jednosměrných rour na obousměrné…
P.S. našel jsem tu předchozí diskusi: obousměrné signalizace na rouře.
[1] nebo libovolný jiný program, který spouští podprocesy a propojuje je rourami