Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
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.
ioctl(int d, int request, ...) žádné flags nejsou, ale pochopil jsem smysl námitky.
struct coffee_t další položku, změní se velikost struktury. A programy zkompilované před změnou velikosti náhle budou vařit kafe s mlékem a citronem, protože se kvůli citronu podívají na pseudonáhodné hodnoty přesahující původní velikost pole. Anebo, pokud budou zkompilovány s runtime kontrolou velikosti struktur a polí, tak rovnou spadnou.
Lepší návrh by bylo pole značka+hodnota předem neznámé velikosti, ukončené nulovým záznamem.
uvař_kafe(NULL) by uvařilo nějaké obyčejné standardní kafe, a přidáním položek do pole by se daly upravovat hodnoty.
No a časem by se ukázalo, že je problém implementovat přípravu kakaa. A tak by buď vznikl tag KAFE_BEZ_KAFE, nebo nové volání uvař_kakao()
Zrovna nedávno jsem na podobný problém v kernelu narazil: V poli pro hardwarové hodiny chybí položka pro časovou zónu, kterou mají nové BIOSy. A bude asi nutné vytvořit novou strukturu, a nová volání, protože tomu starému to není jako předat, nepočítáme-li odporné obezličky.
uvař_kafe(int with_milk, int with_sugar, int more_water); nebo zavést funkci uvař_kafe2 nebo uvař_kafe3 či dělat různé obskurnosti jako nacpat argument množství vody do horních bitů with_milk;
Proto se pídím po tom, proč právě pří vývoji jádra, kde jde o maximální udržitelnost po dlouhý čas bez rozbití stávajícího API se nějaký návrhový vzor při přidávání nové funkcionality neustálil jako standard. Ze čtení jaderných novin mám dojem, že problém "jak něco opravit / upravit / změnit a nerozbít stávající API" je poměrně častý.
na strukturu, ktera bude verzovanaTo už mi přijde daleko jednodušší současný systém, který verzuje celé volání. Případně se to dá do budoucna schovat za nějakou abstrakci v libc, kde nejsou takové extrémní nároky na kompatibilitu, nebo se to zabalí do abstrakce o krok dál.
ioctl() bylo příliš šílené a ne dost flexibilní.
Abychom to nepřeháněli, začínalo se na 80386, sice se později objevily i pokusy portovat Linux i na starší verze, ale to byly spíš takové experimenty a IIRC to k ničemu kloudnému nevedlo.
C sice podporuje funkce s proměnným počtem parametrů, ale kdo s tím někdy pracoval, dospěl nejspíš k závěru, že lze-li se tomu vyhnout, je rozhodně lepší tak učinit. Aspoň já ano.
A předávat všechno přes pointer na strukturu? Jde-li o komplikovanější data, jako třeba u sigaction(), pak jistě. Ale představa, že bych místo
L = read(fd, buf, len);
měl pokaždé psát
struct read_params par; ... par.fd = fd; par.buf = buf; par.count = len; L = read(&par);
(s tím, že nemám-li C99, musí být první řádek na začátku bloku) mi rozhodně nepřipadá jako krok správným směrem. A i pro debugování je lepší, když u jednodušších syscallů (a těch je většina) najdu parametry v registrech a nemusím je dohledávat na zásobníku nebo dokonce v paměti, kterou nemusím ani mít k dispozici.
Jinak řečeno, je vždycky nepříjemné, když se ukáže, že člověk nebyl dostatečně prozíravý. Ale být prozíravý až příliš také není ideální.
.
Tiskni
Sdílej: