Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.
Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.
Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace
… více »Článek na blogu APNIC vysvětluje, jak správně vytvářet a používat ASPA záznamy — podepsané objekty v RPKI, které uvádějí, kteří poskytovatelé směrování jsou pro dané autonomní číslo (ASN) oprávněni. Síťoví operátoři je mohou využít k ověřování tras BGP a k odhalování úniků tras či podvržených tras.
Byla vydána (𝕏) verze 8.0.0 open source programu pro prolamování hesel hashcat (GitHub, Wikipedie). Přehled novinek v příspěvku v diskusním fóru a pdf.
Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.
Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.
Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »
Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění
… více »Třeba někdo pochopí, že UTF-8 je vstupně/výstupní formát textových řetězců, ale nikoli operační.Datová struktura která při operacích zachovává svoje invarianty mi připadá jako dobrý nápad. Ale pokud potřebuješ dělat nějaké operace které dočasně poruší pravidla UTF-8, vždycky můžeš prostě zavolat .as_bytes() a pracovat na read-only view toho stringu, nebo použít unsafe (od toho tam je).
Stejně tak float čísla a jejich chování jsou perfektně standardizována.Jo, a Rust se toho standardu drží. Proto čísla v plovoucí řádové čárce nejsou totálně seřazená. Standard je totiž blbý:
zdenekbelehradek@local ~/tests/c =># cat float.c
#include <stdio.h>
#include <unistd.h>
int main (int argc, char **argv)
{
float zeroplus, zerominus, infplus, infminus, nan;
zeroplus = 0.0; // positive zero
zerominus = -0.0; // negative zero
infplus = 1.0 / zeroplus; // positive infinity
infminus = 1.0 / zerominus; // negative infinity
nan = zeroplus / zeroplus; // NaN
printf("zeroes are equal: %d\n", zeroplus == zerominus);
printf("infinities are equal: %d\n", infplus == infminus);
printf("NaNs is equal to itself: %d\n", nan == nan);
printf("NaN <= +inf: %d\n", nan <= infplus);
printf("NaN >= +inf: %d\n", nan >= infplus);
printf("NaN >= -inf:: %d\n", nan >= infminus);
printf("NaN <= -inf: %d\n", nan <= infminus);
return 0;
}
# cc float.c -o float ; ./float
zeroes are equal: 1
infinities are equal: 0
NaNs is equal to itself: 0
NaN <= +inf: 0
NaN >= +inf: 0
NaN >= -inf:: 0
NaN <= -inf: 0
Všimni si, že NaNy nejsou ani větší ani menší než jiná čísla, a že operace na rovnajících se číslech dává nerovné výsledky (tak generuju kladné a záporné nekonečno).
Samozřejmě to šlo standardizovat i nějak rozumně, např. že NaN se rovná sám sobě a ničemu jinému (a že to platí pro všechny reprezentace NaNů) a že je větší než kladné nekonečno. (Dělení nulou bych nechal jak je nebo zavedl jen jedno (projektivní) nekonečno.) Pak by třeba platilo, že binární kopie floatu se rovná své předloze, a kompilátory by mohly líp optimalizovat.
Samozřejmě to šlo standardizovat i nějak rozumně, např. že NaN se rovná sám sobě a ničemu jinémuTo právě moc rozumné není. Pokud chceš vědět proč, podívej se na trojhodnotové logiky a rozíl mezi tím, jak to definovali Kleene a Łukasiewicz. Stejný případ je i NULL v SQL.
Tiskni
Sdílej: