Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.
Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.
Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou
… více »Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).
Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.
U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.
Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Aktuální vývojová verze jádra je 3.5-rc1 oznámená 3. června. Je to vcelku normální vydání – zhruba ze 60 % ovladače, 20 % jsou změny v architekturách a 20 % je „všude možně“ – souborové systémy, dokumentace, nástroje a tak dále. [...] V závislosti na tom, co vás zajímá, váš může potěšit plánovač paketů CoDel nebo aktualizace ovladačů GPU nebo nové cíle [targets] SCSI. Najde se tam něco snad pro každého.
Stabilní aktualizace: verze 3.0.33, 3.2.19, 3.3.8 a 3.4.1 všechny vyšly 4. června; každá z nich obsahuje dlouhý seznam oprav. Verze 3.3.8 je poslední v řadě 3.3.
Možná to čtu špatně a unikají mi detaily, ale: číst ten kód je asi tak příjemné, jako léčit důkladnou kocovinu teplým zvětralým pivem. Mám na mysli ten typ kocoviny, kdy po probuzení plivete mouchy nebo snad i vajgly.
-- Al Viro
Abych řekl, že si myslím, že máš pravdu, to bys věru nechtěl,
tím bych mohl drze naznačovat, že vůbec beru v potaz tu možnost, že ji nemáš.
Vzdychám nad tvým údělem.
-- Hugh Dickins
Složitost je mým Sluncem a já jsem planeta, která se kolem něj točí.
Jde o to, že v pondělí ráno mi to až tak rychle nemyslí. Pokud se právě tehdy pustím do zpětného inženýrství patche, protože lidé zapomínají zmínit to podstatné, tak se naštvu.
-- Peter Zijlstra před úterkem nepřijímá špatně popsané patche
Linus uzavřel začleňovací okno 2. června; oznámení předverze 3.5 přišlo následujícího dne. Do hlavní řady bylo od posledního přehledu začleněno necelých 1000 patchů, což dělá celkem 9534 za celé okno. Některé z důležitějších změn jsou:
Změny viditelné vývojářům zahrnují:
int svc_bind(struct svc_serv *serv, struct net *net);Cílem je ošetřit registraci služby v daném síťovém kontextu; je pouze pro GPL kód.
Konečnou verzi 3.5 bychom mohli očekávat začátkem srpna.
V listopadovém LWN se psalo o patchi pro volatile ranges (nestálé rozsahy) od Johna Stultze. Smyslem patche bylo přinést funkčnost z Androidu do hlavního jádra, ale jde o reimplementaci, která je hlouběji svázaná se subsystémem správy paměti. Patch se nyní vrátil zpět, ale API se změnilo, takže je třeba se na něj znovu podívat.
"Volatile range" je sada stránek v paměti, která obsahuje data, jež mohou někdy v budoucnu být aplikaci užitečná; hlavní věcí je to, že pokud to bude nutné, aplikace dokáže znovu získat (nebo vygenerovat) data z jiného zdroje. Klasickým příkladem je cache obrázků v paměti prohlížeče. Udržování obrázků může redukovat síťový provoz a zrychlit vykreslování stránek, ale kdyby se cachovaný obrázek vytratil, je možné vyžádat kopii odjinud. Takže ačkoliv má smysl si data uchovávat, má rovněž smysl se jich zbavit, kdyby byla o paměť nouze.
Kdyby jádro o takových cachovaných datech vědělo, jednoduše by v horkých chvilkách mohlo data zahodit a paměť použít pro něco jiného. Takto by navíc aplikace mohly cachovat více než jindy s vědomím, že jsou zde hranice, jak moc může toto cachování ovlivnit zbytek systému. Výsledkem by bylo lepší využívání paměti a systém, který celkově pracuje lépe.
Robert Love z Google tento mechanismus implementoval pro Android pod názvem „ashmem“. Je zde zájem o zařazení ashmem do jádra, ale implementace a API nebyly všem po chuti. Proto John vzal kód ashmem, přepracoval integraci s virtuální pamětí a napojil to na systémové volání posix_fadvise(); v této podobě to bylo v listopadu.
Dave Chinner následně ukázal na to, že pro tuto funkčnost by se více hodilo fallocate(). Toto volání vypadá takto:
int fallocate(int fd, int mode, off_t offset, off_t len);
Toto systémové volání má pracovat nad rozsahy dat v souboru. Zajímavá je pak hlavně operace FALLOCATE_FL_PUNCH_HOLE, která odstraní blok dat z určitého místa v souboru. Označení volatile range by se pak dalo považovat za takový hole punching (vytváření děr) s tím, že je toto oddáleno dle vůle jádra. Když je paměti málo, mohlo by k odstranění dojít ihned, jinak by operace byla dokončena později, nebo vůbec. Vzhledem k podobnosti mezi těmito operacemi dává smysl, aby byly implementovány přes stejné volání; Johny náležitě přepracoval patch.
S novým patchem se označuje rozsah v souboru jako volatilní pomocí volání:
fallocate(fd, FALLOCATE_FL_MARK_VOLATILE, offset, len);
Kde offset a len popisují rozsah, který má být označen. Po dokončení volání není jádro zavázáno udržovat tento rozsah v paměti. Aplikace by se neměla k tomuto rozsahu nyní snažit přistupovat, protože obsah může kdykoliv zmizet. Místo toho, jakmile je o data zájem, by se mělo zavolat:
fallocate(fd, FALLOCATE_FL_UNMARK_VOLATILE, offset, len);
Pokud je určený rozsah stále v paměti, volání vrátí nulu a aplikace může nadále pracovat s daty. Pokud ale byla část paměti jádrem odstraněna, nenulová návratová hodnota bude značit, že aplikace musí získat data odjinud.
Jakýkoliv souborový systém může implementovat tuto funkčnost, ale v reálu to dává smysl jen u souborových systémů pracujících nad RAM (jako tmpfs), takže je to implementované jen tam.
Patch nyní dosáhl třetí revize, v průběhu prvních dvou se mu dostalo řady komentářů. Počet stížností ale značně poklesl, takže většina lidí už je asi spokojená. Tato funkce se tedy může dostat do jádra 3.6.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: