Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Současný vývojový kernel je 4.10-rc6, vydaný 29. ledna. Linus se obával, že aktivita tentokrát narostla. „Při pohledu do historie se nejedná o velké vydání, protože 4.10 byla celkem klidná, ale je to trochu nepříjemné. Doufal jsem, že konečně uděláme vydání rc7 jako poslední (jak 4.8, tak 4.9 měly rc8), a moc si přeju, aby se vše uklidnilo a aby tak mohlo k vydání dojít podle obvyklého plánu.“ Označení se znovu změnilo, tentokrát na „Fearless Coyote“.
Stabilní aktualizace: 4.9.6 a 4.4.45 byly vydány 26. ledna. Verze 4.9.7 a 4.4.46 byly v době psaní tohoto článku revidovány, k jejich vydání došlo 2. února.
Vzhledem k tomu, že se mě pořád někdo ptá: „hele, proč už nefunguje finger kernel.org?“, jsem si jistý, že mě otázka: „hele, co se stalo s ftp.kernel.org?“ bude pronásledovat až do důchodu.
Distribuční hlavičky UAPI (UAPI headers) fungují slušně ve světě, kde je jádro statickou entitou a neaktualizuje svoje ABI. Tzn. funguje pouze tehdy, když nejsou přítomna žádná rozšíření ABI ze strany jádra. Celý ten přístup kolem distribučních hlaviček UAPI je navržen pro případ, kdy na způsobu sdílení hlaviček záleží nejméně, tedy pro případ stagnace jádra a souvisejících nástrojů…
Mimochodem, tenhle rigidní, suboptimální, zpožděními zatížený způsob sdílení informací mezi jádrem a nástroji může být jedním z důvodů, proč je obecně nabídka linuxových nástrojů tak mizerná ve srovnání s jinými operačními systémy.
Kernel.org oznámil, že vypne přístup k archivům přes FTP ve dvou fázích: 1. března skončí ftp.kernel.org a 1. prosince bude ukončena činnost mirrors.kernel.org.
Přiznejme si to, i když je to tak trochu elegantní a pohodlné, nabízet veřejný NFS/CIFS server je Dost Špatný Nápad. Nejen proto, že oba tyto protokoly jsou při vysoké latenci dost hrozné, ale také z významných bezpečnostních důvodů.
Nuže, po 19 letech si myslíme, že je načase ukončit další službu, která má potenciální problémy spojené s protokolem a bezpečností – naše FTP servery. Naše rozhodnutí je vedeno následujícími úvahami:
Všechny FTP služby kernel.org budou ukončeny do konce tohoto roku.
Robert Lefkowitz ve svém příspěvku na linux.conf.au 2017 hovořil o procesu „vendorizace“ – kopírování kódu z jiných projektů do vlastního repozitáře, namísto přijímání závislostí na těchto projektech. Vendoring je u komerčních projektů běžný, Android tak často činí a Lefkowitz navrhl, že by tato praxe měla být obvyklá i jinde. Vendoring přitom obecně není neznámý a probíhá také v jádře, jak naznačuje současná sada patchů.
Kompresní algoritmus ZL4 je údajně „velmi rychlý“, zvláště při dekompresi. V rámci testovacích výsledků se ukazuje, že LZ4 poráží dekompresi LZO o faktor čtyř a zlib dokonce řádově. Jedná se o bezztrátový algoritmus, takže se hodí ke kompresi dat, která je nutné obnovit v jejich původní podobě. Nedávné aktualizace přidaly „rychlý“ režim, který umožňuje volajícím ovládat kompromis mezi rychlostí a úrovní komprese.
Jde si představit, jak by takový druh rychlé komprese mohl být v jádro užitečný. A skutečně jádro funkcionalitu LZ4 od vydání 3.11 z roku 2013 má. Přidal ji Chanho Min, který přebral vydání r90 z repozitáře LZ4 a nacpal ho do jádra do lib/lz4
. Rychlý grep ukazuje, že se rychlá komprese v současné době používá v šifrovací vrstvě, v subsystému pstore a v souborovém systému squashfs. V jádře jsou i další místa, která využívají kompresi, aktuálně to však není LZ4.
Jednou z výhod kopírování kódu do vlastního repozitáře je, že již nejste závislí na externí závislosti. Lefkowitz si myslel, že nezávislost byla tak cenná, že doporučoval kopírování pro jakoukoli závislost s nejvýše 35 miliony řádek. V případě jádra hovoří proti externím závislostem jeden velmi silný argument. Jádro musí být sestaveno jako samostatný program s využitím svých vlastních komplikovaných sad pravidel linkeru. Pravděpodobně je možné vyladit systém sestavení jádra tak, aby bylo možné se linkovat ke knihovnám zvenku, ale dá se předpokládat, že proti takovému kroku by se zvedla vlna odporu. Vývojáři jádra chtějí přesně vědět, co se do výsledného produktu dostane.
Nevýhodou vendoringu je samozřejmě to, přijdete o všechna vylepšení provedená v původním projektu. Vývojáři LZ4 vydali od roku 2013 řadu verzí, přidali díky nim mnoho funkcí, včetně „rychlého režimu LZ4“. Některé z těchto změn možná opravily chyby, které by v jádře byly bezpečnostního charakteru. Žádná z těchto změn se však v současných jádrech nenachází.
K začátku roku poslal Sven Schmidt sadu patchů, která aktualizovala LZ4 k vydání projektu ve verzi 1.7.2. Motivací byla touha použít rychlý režim LZ4 v souborovém systému Lustre, ale správně předpokládal, že by rychlého režimu mohly chtít využít také další části jádra. Tyto patche představují celkovou náhradu existujícího kódu LZ4; práce Mina, která měla za cíl přeměnit knihovnu LZ4 do modulu jádra, tím byla replikována.
Proti upgradu jaderné implementace LZ4 se zatím neobjevily žádné námitky, ale Greg Kroah-Hartman poznamenal, že jeden potenciální problém existuje, a zdůraznil další nebezpečí, spojené s vendoringem. Existující jaderná implementace z roku 2013 nebyla dlouho beze změny, dočkala se mnoha patchů. Některé z nich byly bezpečnostní opravy. Když Schmidt implementaci LZ4 nahradil, nahradil také tyto opravy, takže možná znovu zavedl problémy, které se již podařilo odstranit.
Jakmile se podařilo k této otázce přitáhnout jeho pozornost, Schmidt souhlasil s tím, že se na patche podívá a ujistí se, že jeho náhrady nevedou k návratu starých problémů. Se štěstím se mu snad podaří začlenit relevantní změny do upstreamu, i když Willy Tarreau namítl, že některé změny jsou přinejmenším specifické pro jádro. Pokud takové změny existují, do upstreamu se pravděpodobně nedostanou a jádro je bude muset udržovat napořád.
Ujistit se, že nový kód LZ4 obsahuje opravy aplikované na starý kód, není těžký úkol, počet patchů je malý. Naštěstí existují jako samostatné patche, místo aby byly v tichosti vloženy do zdrojového kódu v době, kdy byl kód LZ4 přidán do jádra. Ale jedná se o úkol, na který je třeba myslet pokaždé, když se někdo implementaci LZ4 pro jádro rozhodně aktualizovat. V tomto případě si Kroah-Hartman všiml problému, ale projekt nemůže vždy spoléhat na jeho pozornost, aby nedošlo k regresi u budoucích aktualizací.
K takovým aktualizacím jistě dříve nebo později dojde. Upstream projektu LZ4 byl v době psaní tohoto článku u verze 1.7.6, došlo k přidání režimu vysoké komprese a opravě chyb, které se objevily od vydání verze 1.7.2. Za nějaký čas bude někdo pracující na jádře chtít, aby se tato vylepšení do něj dostala.
Jádro obsahuje další zkopírované subsystémy jako LZ4, většinou se jedná o nízkoúrovňový kompresní a šifrovací kód. Každý takový kód představuje určitý typ odpojení od upstreamu projektu (v případech, kdy je původní upstream stále ještě aktivní). Dá se říct, že výrazně modifikovaná jádra pro mobilní a embedded systémy představují za další případ téhož. Místo toho, aby vlastní kód dostali do upstreamu, kopírují ho výrobci z jednoho jádra do druhého.
Pro vendoring existují pádné důvody, ale jsou s ním spojené skutečné náklady. Převaha vendoringu v celé komunitě naznačuje, že se stále snažíme najít nejlepší způsob, jak integrovat kód vytvořený nezávislými skupinami vývojářů, zvláště jak narůstá rozsah vlastních projektů. Pro tuto chvíli musíme doufat, že až se příště někdo rozhodne aktualizovat knihovnu LZ4 v jádře, nezapomene na staré opravy a ujistí se, že budou přeneseny do nové verze.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: