Mozilla před dvěma týdny na svém blogu oznámila, že díky Claude Mythos Preview bylo ve Firefoxu nalezeno a opraveno 271 bezpečnostních chyb. Včera vyšel na Mozilla Hacks článek s podrobnějšími informacemi. Z 271 bezpečnostních chyb mělo 180 chyb vysokou závažnost, 80 chyb střední závažnost a 11 chyb nízkou závažnost. Celkově bylo v dubnu ve Firefoxu opraveno 423 bezpečnostních chyb. Čísla CVE nemusí být přiřazována jednotlivým chybám. CVE-2026-6784 například představuje 154 bezpečnostních chyb.
Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].
Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.
Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.
Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.
Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu
… více »Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).
PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.
Kdysi dávno jsem byl v konferencích cecko@pandora.cz a os@pandora.cz. Už nevím, do které z nich kdosi poslal kus kódu v céčku, který řadu přítomných udivil. Jednalo se o Duff's device, které by se ale mělo jmenovat spíš Hell device. Po letech jsem na tuto konstrukci znovu narazil, tak se s vámi chci podělit
O co jde? Je to kus kódu, kde je konstrukce switch promíchána s jinou konstrukcí - v tomto případě do/while. A je to validní céčkový zdroják.
switch (count % 8) /* count > 0 assumed */
{
case 0: do { *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
} while ((count -= 8) > 0);
}
K čemu je to dobré? Dnes k ničemu. Ale v 80. letech se dělaly optimalizace na zmenšení počtu větvení programu, takže výše uvedený kód byl rychlejší než:
do { /* count > 0 assumed */
*to++ = *from++;
} while (--count > 0);
Dneska už jsou procesory někde jinde, zrychlení to nepřinese. A programátoři takhle už optimalizovat neumí - za vše mluví, že když jsem si psal na tohle benchmark, vyrobil jsem Segmentation Fault. Jdu zase Pythonit.
Tiskni
Sdílej:
1. Pokud by taková optimalizace skutečně pomohla, měl by ji dělat překladač, ne programátor. Takhle zprasit a znečitelnit zdroják kvůli drobnému zrychlení, to nejsem při nejlepší vůli ochoten považovat za chvályhodné.
2. Současné verze GCC (a nejspíš i jiných překladačů) mají funkce typu memcpy() implementované jako builtin, který už je optimalizován pro danou platformu.
3. Až někdy nebudu mít do čeho dloubnout, docela rád se podívám, jestli je to syntakticky opravdu v pořádku nebo jestli je to jen nepozornost překladače.
A to zrychlení v danou chvíli asi nebylo "drobné", myslím, že bylo dvojnásobné nebo tak nějak. Teoreticky bych ho (na modernějším VAXu) mohl zkusit změřit, luštit latenci VAXích instrukcí ze specifikace se mi nechce, je příliš tlustá a jednoduchá tabulka v ní není.
2) Tohle ale nebyl memcpy().
Nebo aspoň ne původně: Alblaho měl vložit původní verzi, jejíž smysl je poněkud čitelnější (viz Wikipedia).
do { /* count > 0 assumed */
*to = *from++; /* Note that the to pointer is NOT incremented */
} while (--count > 0);
Tedy neinkrementuje pointer to. Čuměl jsem na to jak puk, a myslel jsem, že ostatní čtenáři by čuměli taky. Pak jsem si přečetl, že na adrese to je namapován I/O port a rozsvítilo se mi. Takže původní verze sice nelze smést ze stolu tvrzením "použij memcpy", ale zato je dnes zcela dokonale pasé. I když jednou jsem v nějaké embedded krabičce na port takhle přistupoval...
Kdysi dávno jsem byl v konferencích cecko@pandora.cz a os@pandora.cz.A proč už nečteš OS? Nedávno jsme tam probírali, jestli by náhodou kluci od Flexu nechtěli to svoje dítko opensourcovat
Tedy ve skutečnosti o tom padly dvě věty a zas to šlo hodně rychle do kytek. Ale co, Aleš Procháska byl celkem pro
Tento hustý kousek kódu mě zaujal natolik, že jsem udělal malý benchmark. 