Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Aktuální vývojová verze jádra je 3.15-rc5 vydaná 9. května. A ačkoliv rc5 bude možná větší než rc3/4, nemám z toho obavy. Toto začleňovací okno bylo větší než většina jiných a tedy to, že je rc5 o něco větší než obvykle, mě příliš neznepokojuje. A protože rc4 zase bylo menší než obvykle, tak se to pěkně vyrovná. Celý příští týden ale nebudu vůbec dostupný, takže se vrhněte na testování, jelikož na -git stromu bude ticho.
Stabilní aktualizace: verze 3.14.4, 3.10.40 a 3.4.90 byly vydány 13. května.
Možná že důvodem, proč Linus přešel na git (a předtím na BK) je částečně i to, aby se vyhnul problému posílej-patche-dokola-než-je-Linus-přestane-zahazovat. Vypadá to, že jsme problém ani tak neopravili, jako ho spíš přesunuli o krok dál na správce subsystémů.
Dřív jsem si myslel, že 32bitová zařízení budou do roku 2025 minulostí. Nejen, že je teď zjevné, že tomu tak nebude, dokonce jsem se zmýlil tím nejhorším způsobem... a to proto, že všude tam, kde dnes máme 8bitové mikrokontroléry za pár korun s triviálními operačními systémy, budeme mít 32bitové mikrokontroléry za pár korun a na velkém množství z nich poběží Linux. Jak se blížíme k bodu, kdy nejdražší věcí na mikrokontroléru je jeho obal, tak už není důvod si nepořídit výkonné CPU se skutečným OS a minimalizovat čas strávený programováním toho zmetka.
Jak tomu tak bývá, jaderní výojáři nemají rádi, když se problémy obcházejí nebo skrývají za pomoci všelijakých hacků. Ačkoliv nedávno zaslaný patch, který právě takový hack používá, asi nebude začleněn, byl obecně vcelku dobře přijat a předvádí zajímavý způsob použití této techniky. Když už jsou naděje na správnou opravu problematického subsystému ztraceny, tak je možná čas na zoufalé činy.
Subsystém, o kterém se bavíme, je ten, který se stará o hotplug CPU. Nabízí se řada důvodů, proč bychom mohli chtít za běhu připojovat (nebo odebírat) CPU na běžícím systému: hardware nám něco takového zkrátka umožňuje nebo chceme odpojit procesor, který se špatně chová. Ve světě virtualizace je změna počtu CPU za běhu zjevným způsobem, jak upravit výpočetní výkon dostupný hostovskému systému. Tato funkčnost má svůj přínos a nikdo by určitě nenavrhoval ji odstranit. Ale nikdo není spokojený s tím, jak byl CPU hotplug implementován.
Změna procesorů na běžícím systému je komplexní operací; na různých úrovních se nachází řada stavů specifických pro procesor, o které je nutné se postarat. V takových situacích dává smysl mít obecný mechanismus, který se stará o složitost, rozděluje ji na jednoduché kroky a zajišťuje, že tyto kroky jsou provedeny ve správném pořadí. Linuxové jádro takový mechanismus bohužel nemá; namísto toho má matoucí pole notifikátorů a zpětných volání, se kterým je obtížné něco dělat. Nepřekvapí tedy, že se v něm nacházejí chyby; vývojáři, kteří se odhodlali je jít hledat, neměli problém na nějaké hned narazit.
Chyb je tam dokonce tolik, že se Borislav Petkov chce postarat o to, aby bylo těžší je najít. V úvodu jeho patche se píše:
Máme tady hromadu přehnaně aktivních testerů, co slepí nějaký skript a začnou bezmyšlenkovitě mlátit do CPU hotplugu a pak hlásí chyby, co se jim podařilo vyvolat.
V první řadě se většina chyb, ne-li všechny, týká tak či tak hotplugu. Ale víme, že hotplug je slepený lepící páskou a a přelepený papírovými pytlíky. Proto jednoznačně marníme příliš mnoho času nad mechanismem, o kterém víme, že je beztak celý rozbitý.
Jeho řešení bylo jednoduché: vložit jednosekundovou prodlevu do každé operace hotplug. Takové zpomalení minimalizuje počet operací, které je možné testovat, a také souběhy mezi nimi. Mělo by to pěkně omezit přísun hlášení chyb.
Má to ale jeden drobný háček: tento patch neopravuje žádné chyby; jen je skrývá. Andrew Morton rychle podotkl, že by takový patch s jisotou vedl k méně opraveným chybám. Thomas Gleixner si zato myslí, že to může být dobrá věc: Kdyby lidé raději strávili stejné množství času tím, že by ten binec v hotplugu přepsali, bylo by to jen ku prospěchu. Ale ne, my tam radši nacpeme ještě víc lepící pásky a všelijakých hacků.
Thomas se už v minulosti o určitý přepis pokusil; v Jaderných novinách jsme o tom psali vloni. Rozdělil hotplug a hotunplug na dlouhý seznam jednotlivých kroků; pak sestavil systém, který je spustí v řádně definovaném pořadí. Ke skutečnému řešení problému to ale mělo daleko; většina stávajícího kódu hotplugu zůstala, jak byl, jen se volal jinak. Vznikl ale framework, který by časem mohl pomoci kompletnímu přepisu.
Jediným problémem je, že nikdo přepis neuskutečnil. Thomasovi došel čas a přesunul se zpět k jiným úkolům a nikdo to po něm nepřevzal, takže patche od svého zveřejnění akorát chřadnou. Namísto přepisu se přidávají opravy čím dál složitějších chyb (nedávný příklad) ve snaze stávající implementaci urdžet v běhu. Tyto opravy mohou řešit konkrétní chyby, ale neřeší složitost a neudržovatelnost systému jako celku; samozřejmě nakonec problémy spíš zhoršují.
Borislava k zaslání patche vedla frustrace z lepení dalších vrstev lepící pásky a papírových pytlíků. Nakonec je to tak, že vývojáři, kteří se v této oblasti kódu pohybují, nechtějí další opravy chyb; chtějí, aby byl kód jednodušší a snáze pochopitelný, aby se přestaly valit opravy, co kód ještě zhoršují. Ztížení nacházení chyb v tomto subsystému je takovým hrubým pokusem o to, jak přesunout pozornost vývojářů jinam.
Patch je samozřejmě spíš vyjádřením postoje, než skutečnou snahou o změnu jádra; bylo by překvapivé, kdyby byl patch začleněn. Ve světě, kde správci subsystému jádra nemohou nutit vývojáře pracovat na konkrétní oblasti a kde žádný manažer neuznal za vhodné, aby jejich podřízení pracovali na vyřešení problému s hotplugem CPU, je někdy nutné být kreativní, aby se podařilo s něčím hnout. Můžeme jen doufat, že zaslání tohoto patche konečně někoho rozhoupe k tomu, aby na problému zapracoval. Thomas ale možná tuto snahu nechtěně sabotoval tím, že řekl, že jestliže se k přepisu subsystému pro hotplug CPU nikdo nedostane, udělá to sám.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Jak bránit nalézání dalších chybNa tuhle formulaci bych si dával pozor ;).