Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Začleňovací okno 3.20/4.0 zůstává i nadále otevřeno, takže není nový vývojový kernel. Příliv patchů do hlavního repozitáře pokračuje. Pro více informací viz. články níže.
Minulý týden nebyly žádné stabilní aktualizace.
Připomíná to styl kódování robotů. Jako nějaká opuštěná chodba, kterou neúnavně čistí zapomenutý vysavač Roomba, kam ale lidská noha nevkročila už roky.
SMP (symetrický multiprocesing) má vždy na svědomí několik zkažených vajec v RT omeletě.
V době psaní tohoto článku bylo do hlavního repozitáře v tomto vývojovém cyklu začleněno již 7849 neslučitelných sad změn; z toho 4200 od doby, kdy bylo napsáno shrnutí z minulého týdne. Některé ze zajímavějších a viditelnějších změn z oněch 4200 pachtů zahrnují:
Mezi změny viditelné pro vývojáře jádra patří:
Prozatím to vypadá na relativně pomalý cyklus, jak bylo předpovězeno před otevřením začleňovacího (merge) okna. Přesto by měl být důraz kladen na slovo "relativně"; téměř 8000 patchů není zrovna málo.
Tato verze kernelu ještě nemá své jméno. Linus na svém Google+ spustil hlasování, ve kterém zvítězilo označení 4.0, ale on sám se ještě nevyjádřil. Příští týden nás čekají poslední změny tohoto cyklu, a snad také odpověď na otázku, ohledně jeho pojmenování.
Epoll je sada specifických Linuxových volání určených k zajištění rychlého pollování (polling) velkého počtu souborových deskriptorů (popisovačů). API se používá od doby, co bylo včleněno ve vývojové verzi 2.5, ale jako u spousty jiných rozhraní, i tady je prostor pro zlepšení. V současné době kolují dvě sady patchů, které by této sadě systémových volání přidaly funkce.
Přehled
Epoll je navržen tak, aby fungoval podobně jako select() nebo poll(), ale s více možnostmi a vyšším výkonem v situaci, kdy je využito více souborových deskriptorů. Každé volání select() nebo poll() může obsahovat zcela novou sadu souborových deskriptorů, takže kernel musí každý z nich ověřit, kontrolovat připravenost I/O a přidávat pollovací proces (polling process) příslušným frontám. Seznam souborových deskriptorů se mezi voláními příliš nemění, takže dochází ke zbytečnému duplicitnímu úsilí. Volání epoll tento problém řeší tím, že oddělí nastavení (setup) od čekání souborového deskriptoru, než dojde k jeho připravení.
Proces, který využívá toto API musí začít vytvořením speciálního souborového deskriptoru pro použití v pollování, což se dělá voláním k jednomu z:
#includeint epoll_create(int size); int epoll_create1(int flags);
Každé z těchto volání vrátí souborový deskriptor, který bude využit se zbývajícími funkcemi epoll. Velikost size parametru epoll_Create() se již nepoužije. Argument vlajky flags je přidán do epoll_create1() a lze jej použít k nastavení příznaku vlajky close-on-exec pro výsledný souborový deskriptor.
Dalším krokem je přidání všech souborových deskriptorů, které mají být monitorovány:
int epoll_ctl(int efd, int op, int fd, struct epoll_event *event);
Jestliže je op EPOLL_CTL_ADD, bude výsledný fd přidán do sady. Parametr události se používá k popisu událostí, které budou pollovány; pro podrobnosti viz. manuál. op epoll_ctl() se používá také k odstranění souborových deskriptorů nebo úpravě pollování.
Čekání k připravení jednoho ze souborových deskriptorů k připravení se provádí:
int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);
int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout,
const sigset_t *sigmask);
Události, které vrátí epoll_wait() až k maxevents budou uloženy v poli akcí events array. Parametr timeout je v milisekundách. Verze epoll_pwait() také umožňuje v průběhu volání zablokovat (nebo odblokovat) specifikaci ze souboru signálů. Pro více informací viz. manuál.
epoll_ctl_batch() and epoll_pwait1(
Tento patch Fama Zhenga přináší dvě nová systémová volání rodině epoll. První řeší problém s výkonem, který nastává v situaci, kdy je nutné dělat změny v souborových deskriptorech v sadě epoll. Volání epoll_ctl() může pouze přidat, modifikovat nebo vymazat jeden souborový desktriptor. Je-li zapotřebí provést změny ve více deskriptorech, je třeba více volání epoll_ctl(). Nabízené systémové volání epollctl_batch() tento problém obchází zpracováním více souborových deskriptorů v jednom volání:
int epoll_ctl_batch(int epfd, int flags, int ncmds, struct epoll_ctl_cmd *cmds);
Struktura cmds zde v podstatě duplikuje všechny argumenty, které by byly předány volání epoll_ctl(). Předáním sady těchto struktur může program provádět operace na několika souborových deskriptorech v jednom systémovém volání.
Fam také přidává nové systémové volání k provedení pollování:
struct epoll_wait_params {
int clockid;
struct timespec timeout;
sigset_t *sigmask;
size_t sigsetsize;
};
int epoll_pwait1(int epfd, int flags,
struct epoll_event *events, int maxevents,
struct epoll_wait_params *params);
Tato verze epoll_wait() přidává nový parametr vlajek, ale nedefinuje jejich hodnoty, čili vlajky musí být nula. Úkolem parametrů zamíchaných do struktury je dát žádosti (aplication) více kontroly nad zpracováním časového limitu. Časový limit v hodnotách milisekund epoll_wait() se ukázal jako příliš hrubý pro řadu použití. Nové systémové volání definuje timeout v nanosekundách, což problém řeší.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
The nonvolatile memory support patches…
Nonvolativní patche podpory paměti…no comment.
poštovní jednotky AlteraOMG
. Předpokládám, že to má být synchronizační hardware "mailbox" (něco jako buffer se semaforem).
Bezpečnostní modul Smack může nyní (filtrovat pakety netfilteru skrze bezpečnostní štítky) komunikovat se systémem netfilter skrze bezpečnostní štítky k filtrování paketů. Souborový systém ubifs má nyní multiqueue podporu blokových vrstev (zvyšujících jeho výkonnost) a podporu bezpečnosti.* rozšířených atributů (umožňující podporu bezpečenostních modulů). Pro změny v ovladači Intel v tomto vývojovém cyklu viz. tento zápis. 6 osé akcelerometry