Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" 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. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Aktuální vývojová verze jádra je 3.10-rc2 vydaná 20. května. Linus k ní řekl: Jelikož je to -rc2, tak je velikost přijatelná, i když jsem přetáhl několik věcí, u kterých bych to u vyšších -rc odmítl. Takže to není ani vyloženě malé. Máme tam aktualizace v architekturách (PPC, MIPS, PA-RISC), opravy v ovladačích (síť, GPU, target, xen) a změny v systémech souborů (btrfs, ext4 a cepth – rbd).
Stabilní aktualizace: verze 3.9.3, 3.4.46 a 3.0.79 vyšly 19. května; verze 3.6.11.4 vyšla 20. května.
Nový nástroj pro trasování jádra nazvaný „ktap“ dospěl do první verze. KTAP má odlišné principy návrhu oproti linuxovému hlavnímu dynamickému trasovacímu jazyku, který je založený na bajtkódu, proto nezávisí na GCC, nevyžaduje kompilaci jaderného modulu, je bezpečné ho používat v produkčním prostředí a naplňuje potřeby trasování v prostředí embedded zařízení. Je v rané fázi vývoje; projekt hledá přispěvatele a testery.
Jak už se psalo dříve, bylo rozhodnuto, že bude začleněn zswap, subsystém pro komprimovanou swap cache, zatímco poněkud komplexní subsystém „zcache“ zůstane zatím bokem. Jenže rozhodnutí učiněná na konferencích nezřídka končí komplikacemi při realizaci; a tak tomu bylo i tentokrát.
Vývojář zswap Seth Jennings náležitě zaslal kód pro zvážení v průběhu vývojového cyklu 3.11. Brzy ale narazil na odpor ze strany vývojáře zcache Dana Magenheimera; Dan souhlasil se začleněním zswap obecně, ale měl jisté obavy o špatný výkon zswap v určitých situacích. Podle Dana by bylo lepší tyto problémy před zařazením kódu opravit:
Řekl bych, že skutečnou výzvou pro zswap (nebo zcache) a jeho význam pro distribuce a koncové uživatele je mít to dobře udělané DŘÍVE NEŽ uživatelé začnou hlásit chyby týkající se podivného výkonu. Po něčem takovém by uživatelé a distribuce jednoduše nastavili hodnotu 0 % (neboli vypnutli zswap), protože zswap by někdy nepředvídatelně bylo na prd.
Diskuze se točila na místě, jak se to u debat ohledně komprese v jádře stává. Nakonec to ale za vývojáře správy paměti (až na Dana) nejlépe shrnul asi Mel Gorman:
Řekl bych, že je tam hodně škaredých věcí a sklon k podivným výkonnostním problémům. Během revidování kódu jsem si stěžoval na spousty různých částí kódu, ale vize, že budou opraveny mimo strom nebo ve staging, jako to bylo doposud, je evidentně zcela mylná.
Výsledkem je tedy pravděpodobně to, že sice dojde k začlenění zswap do verze 3.11, ale se spoustou varování. Pak doufejme bude zvýšená viditelnost kódu motivovat vývojáře k přípravě patchů a vylepšování kódu tak, aby zswap byl nakonec vhodný k produkčnímu nasazení.
O Linuxu se obecně traduje, že má jednu z nejrozsáhlejších a nejrychlejších podpor síťování, co existuje. Ale vždy se najde někdo, kdo není s tím, co je, spokojený a snaží se to nahradit něčím, co je více uzpůsobeno jeho potřebám. Jedné takové skupině lidí jde o extrémně nízkou latenci, kdy je na každý příchozí paket nutné odpovědět co nejrychleji. Do této kategorie patří systémy pro rychlé obchodování, ale našly by se i další. Tito lidé mají často pokušení obejít síťování v jádře a nahradit jej v uživatelském prostoru (nebo v hardwaru), ale to přináší své vlastní problémy. Relativně malý patch pro síťový subsystém může toto pokušení alespoň u některých lidí omezit.
Síťová rozhraní jako většina rozumných periferních zařízení dokáže přerušovat CPU při příchodu každého paketu. Ale i středně zatížené rozhraní může přijímat stovky nebo tisíce paketů za sekundu; mít přerušení na každý paket by rychle zavalilo procesor režií spojenou s přerušeními, až by pak zbývalo málo času na užitečnou práci. Proto většina ovladačů rozhraní zakáže přerušení při každém paketu, jakmile provoz dosáhne určité úrovně, a ve spolupráci s vrstvou pro síťování se pak příležitostně dotazuje zařízení na nové pakety. Tento přístup má řadu výhod: vyhýbáme se záplavě přerušení, příchozí pakety mohou být zpracovávány efektivněji po dávkách a pokud je v reakci na zátěž nutné pakety zahodit, pak je možné je odstranit dřív, než se dostanou dál. Dotazování má tedy přednosti v téměř všech situacích, kde je nějaký větší provoz.
Zájemci o extrémně nízkou latenci ale vidí věci jinak. Čas mezi příchodem paketu a následujícím dotazem na zařízení je právě tím typem latence, které se chtějí vyhnout. Opětovné povolení přerušení také není řešení; přerušení jsou také zdrojem latence. Proto je tu zájem o řešení v uživatelském prostoru, kde je možné dotazovat se na nové pakety, kdykoliv je možné je začít zpracovávat.
Eliezer Tamir zaslal alternativní řešení v podobě patche pro dotazování síťového zařízení s nízkou latencí. S tímto patchem může aplikace povolit dotazování na nové pakety přímo na ovladači zařízení s tím výsledkem, že si pakety rychle najdou cestu do síťové vrstvy.
Patch přidává nové pole do struktury net_device_ops:
int (*ndo_ll_poll)(struct napi_struct *dev);
Tato funkce by měla způsobit, že se ovladač dotáže na nové pakety a ihned je předá síťové vrstvě; neměla by blokovat. Návratovou hodnotou je počet paketů, které byly takto předány. Jinou možností je návratová hodnota LL_FLUSH_BUSY znamenající, že jiná probíhající operace zabránila zpracování paketů (například nějaký zámek) nebo LL_FLUSH_FAILED značící chybu. LL_FLUSH_FAILED způsobí konec dotazování, zatímco LL_FLUSH_BUSY je zdá se zcela ignorováno.
V rámci síťové vrstvy je funkce ndo_ll_poll() zavolána, kdykoliv to vypadá jako dobrý nápad. Například při volání poll(). Sockety označené jako neblokující se budou dotazovat jen jednou; jinak bude dotazování pokračovat tak dlouho, než se do síťové vrstvy dostanou nějaké pakety určené pro daný socket, než bude dosažen maximální čas stanovený hodnotou volby ip_low_latency_poll v sysctl. Výchozí hdonotou pro tuto volbu je nula (což znamená, že dotaz na rozhraní proběhne jen jednou), ale „doporučovanou hodnotou“ je 50 µs. Pokud tedy v době volání poll() existují nějaké nezpracované pakety (nebo přijdou krátce poté), budou rychle vloženy do síťové vrstvy a okamžitě zpřístupněny, bez nutnosti čekat na to, než se ovladač sám dotáže zařízení.
Další patch přidává dodatečné volání do kódu TCP. Pokud je použito read() na aktivním spojení TCP a nejsou žádná data k vrácení do uživatelského prostoru, pak se ovladač dotáže, jestli je možné něco protlačit do systému. Proto není u TCP socketů nutné další volání poll().
Tento patch usnadňuje dotazování zařízení přímo z aplikací; jakmile je funkce nakonfigurována v jádře, už není nutné dělat v aplikacích žádné změny. Na druhou stranu to znamená to, že každý poll() nebo TCP read() vyvolá dotazování a případně bude čekat v aktivní smyčce po dobu určenou v ip_low_latency_poll. Není proto těžké si představit, že na spoustě systémů citlivých na latenci se požadavek na rychlou odpověď týká jen některých spojení, zatímco u ostatních to není nutné. Dotazování na méně kritických spojeních by dokonce mohlo přivodit dodatečnou latenci u spojení, o která uživateli doopravdy jde. Takže i když si o to nikdo ještě nepožádal, nebylo by překvapením, kdyby se před začleněním objevila nová operace setsockopt() nastavující chování u daného socketu.
K začlenění určitě dříve nebo později dojde; správce síťové vrstvy Dave Miller na dřívější e-mail odpověděl Jen jsem chtěl říct, že se mi tato práce moc líbí. Ještě je nutné dořešit nějaké drobnosti a asi bude potřeba pár dalších kol revidování, takže se sockety s nízkou latencí do verze 3.11 možná nedostanou. Ale bylo by překvapivé, kdyby to trvalo výrazně déle.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
O Linuxu se obecně traduje, že má jednu z nejrozsáhlejších a nejrychlejších podpor síťování, co existuje.
Hlavně že FreeBSD mu to bez problémů natře (od 50. minuty). 
Ještě je nutné dořešit nějaké drobnosti a asi bude potřeba pár dalších kol revidování, takže se sockety s nízkou latencí do verze 3.11 možná nedostanou. Ale bylo by překvapivé, kdyby to trvalo výrazně déle.
Vypadá to že napůl: ve 3.11 to asi bude, ale bez části implementující podporu v select()/poll(), která není ještě úplně v pořádku.
Lze to vypnout přes sysctl a defaultně je to vypnuté:
low_latency_poll ---------------- Low latency busy poll timeout. (needs CONFIG_NET_LL_RX_POLL) Approximate time in us to spin waiting for packets on the device queue. Recommended value is 50. May increase power usage. Default: 0 (off)