Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za prosinec 2025 a leden 2026 (YouTube). Zajímavé, že i v roce 2026 celou řadu problémů vyřeší falšování řetězce User-Agent.
Bylo rozhodnuto, že Linux From Scratch (LFS) končí s podporou System V init. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů už budou pouze se systemd.
Byla vydána nová verze 2026.1.0 "Like a Version" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. Změněno bylo číslování verzí. Předchozí verze byla 2.9.1.
Internetový prohlížeč Firefox bude mít nové ovládací prvky pro umělou inteligenci, které umožní uživatelům vypnout vestavěné AI funkce přímo v nastavení prohlížeče. Jednotlivě půjde vypnout nebo zapnout automatické překlady stránek, generovaní popisného textu k obrázkům v otevřených PDF dokumentech, samoorganizaci tabů do skupin, náhledy odkazů s krátkým shrnutím a boční panel s chatbotem. Tyto možnosti v nastavení prohlížeče
… více »Desktopové prostředí KDE Plasma 6.6, která je právě ve fázi beta, nahrazuje stávající SDDM novým Plasma Login Managerem, který je ale pevně navázán na systemd. Plasma Login Manager využívá systemd-logind a další součásti systemd, které nejsou dostupné v operačních systémech bez systemd, jako je například FreeBSD, případně jsou linuxové distribuce Gentoo, Void Linux anebo Alpine Linux. Pro uživatele zatím stále ještě existuje možnost používat SDDM.
Na webu komunitního setkání CSNOG 2026 jsou dostupné prezentace v PDF, jejich videozáznamy a fotografie z lednové akce ve Zlíně. CSNOG 2026 se zúčastnilo téměř 300 zájemců o vystoupení věnovaných správě sítí, legislativním a regulačním tématům nebo projektům z akademické sféry. Letos byly prezentace rozdělené do dvou treků, ve kterých se představilo 35 přednášejících. Setkání komunity CSNOG organizují společně sdružení CESNET, CZ.NIC a NIX.CZ.
Americká vesmírná společnost SpaceX miliardáře Elona Muska koupila další Muskovu firmu xAI, která se zabývá vývojem umělé inteligence (AI). Informovala o tom na svém účtu na síti 𝕏. Musk tímto krokem propojí několik ze svých služeb, včetně chatbota s prvky umělé inteligence Grok, sociální sítě 𝕏 či satelitního internetového systému Starlink. Tržní hodnota společnosti SpaceX dosahuje jednoho bilionu dolarů (20,6 bilionu Kč), hodnota xAI pak činí 250 miliard dolarů.
Byl odhalen supply chain attack na Notepad++: útočníci kompromitovali hosting Notepad++ a vybrané dotazy na aktualizace přesměrovávali na servery pod jejich kontrolou. Doporučuje se stáhnout instalátor a přeinstalovat.
Francouzská veřejná správa má v rámci vládní iniciativy LaSuite Numérique ('Digitální sada') v plánu od roku 2027 přestat používat Microsoft Teams a Zoom a přejít na videokonferenční platformu Visio, hostovanou na vlastním hardwaru. Konkrétně se jedná o instance iniciativou vyvíjeného open-source nástroje LaSuite Meet, jehož centrální komponentou je LiveKit. Visio nebude dostupné pro veřejnost, nicméně LaSuite Meet je k dispozici pod licencí MIT.
Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.
V prosinci Microsoft oznámil (zprávička), že v lednu uvolní ChakraCore, tj. jádro svého javascriptového enginu Chakra používaného v prohlížeči Edge, jako open source. Dnes se tak stalo. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Tiskni
Sdílej:
typedef uint8 Char; typedef uint8 UChar; static const int CharWidth = sizeof(char) * 8;Proč? sizeof(char) je vždy 1! Pan vývojář se snažil být chytrý a utvořit portabilní kód a dopustil se neznalosti ... a kousek za tím udělá *8, kde jeho pokus o portabilní kousek kódu zhatí nepoužitím CHAR_BIT a zamezí spuštění javascriptového enginu na takových platformách jako Texas Instruments C54x. Jeden by mohl říct, že přece uint8_t na takové platformě ale neexistuje ... to je pravda, ale co je uint8, to nevím, třeba je to nějaká náhražka uint_least8_t, nechce se mi hledat...
static inline CharCount OSB(const Char* ph, const Char* pl)
{
Assert(ph >= pl && ph - pl <= MaxCharCount);
return (CharCount)(ph - pl);
}
Aáá, tohle je hodně nebezpečné, protože výsledek odčítání pointerů je znaménkový typ, na který existuje typedef ptrdiff_t, na některých platformách ee, protože jakmile je rozdíl pointerů velký, máme tu UB. Takovými chybami je ale ostatně prošpekována třeba i glibc. Takový musl libc kvůli tomu udělal omezení, že malloc pro více jak PTRDIFF_MAX selže s ENOMEM, a zakazují programátory používat velké datové struktury. A dokonce i GCC a clang jsou na tom špatně, mají pointery a element indexy (llvm) jako čísla se znaménkem. Fůj.
a zamezí spuštění javascriptového enginu na takových platformách jako Texas Instruments C54xNo za to ho určitě čeká vyhazov
No za to ho určitě čeká vyhazov
uint8 je typ, který si sami definují v jiném hlavičkovém souboru, a spíš se ptal na __int8, což je asi nějaký nativní typ specifický pro MSVC.
size_t length = end - start, přitom výsledek je znaménkový a může být špatný. Vemte si třeba pole znaků o velikosti 3GB na x86 platformě, start je třeba adresa 1 a konec 3G+1, ptrdiff_t je v případě gcc/glibc na této platformě 32bit znaménkový typ, který těžko pojme hodnotu 3G a podle standardu je to tedy UB (protože výsledek rozdílu pointerů to nepojme). Taky občas narazím na případy if (start + len > end) nebo kde se snaží zkomponovat kontrolu přetečení if (start + len > end || start + len < start), kterou kompilátor zoptimalizuje a vyhodí pryč, protože předpoklad je, že pokud k adrese objektu připočtu jeho maximální velikost, nemůžu dostat adresu menší (v podstatě stejně, jako když máte UB s přičítáním znaménkových typů, kdy si myslíte, že může dojít k overflow a kompilátor vaši kontrolu vyhodí, protože je to UB, nemělo by to nastat a tak není třeba kontrolovat). Programy se pak záhadně rozbíjí při práci s trochu většími daty. Problémy jsou to bezpečnostní, protože jsou zneužitelné. UB třeba může vést ke smazání celého disku.
char *match = strstr (arg, str); size_t to_len = match - arg;Je to UB, když arg je hodně dlouhý a str je někde u konce, máte třeba 3,5G - 1G = 2,5G a to třeba na na x86 neprojde, protože PTRDIFF_MAX je menší. No a k tomu pak ještě ten implicitní typecast z ptrdiff_t na size_t, který problém hezky zamaskuje a utvoří nám kladné číselko, pokud se nám díky UB předtím nespálil procesor. (x86 a dané velikosti jsou příklad, obyčejně mě x86 nezajímá, ale platí to pro všechny platformy obecně, při správně velkých velikostech). Podobný problém je pak v C++ třeba u iterátorů a některých (třeba ručně implementovaných) kontejnerů, kde není funkce typu max_size(), díky čemuž pak nemůžete předpokládat, že nenastane UB při rozdílech iterátorů. Koukněte třeba do kontejnerů, co si MS (někdy prostě zbytečně, protože nechcou použít altarnativu ze standardní knihovny) implementuje, nebo InternalString apod. splácaniny, co mají všude rouzdílné skryté a nedokumentované limity (např. INT_MAX, UINT_MAX atd), které ještě jsou všude rozdílné a nemůžete si tak ničím být jistí. A ještě náhodné zaměňování typů long a int, která na windows x32 i x64 mají náhodou stejnou velikost.
aby Jardík neměl blbý řečiA najde si jardik divku, aby nemel odin blbe reci?