Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Vývojáři Ruffle, tj. open source emulátoru Flash Playeru napsaného v Rustu, vydali zprávu o vývoji za rok 2023. Vylepšena byla kompatibilita. Vyzkoušet lze dema.
Tiskni Sdílej:
FLEX - ten je ciste OpenSourceVím, že je teď pod Apachem, ale pro běh byl potřeba Flash, ne? Nebo k tomu bylo/je i komplet otevřené běhové prostředí? (nepočítám teď ten Ruffle nebo Gnash) Vždyť se to kompilovalo do .swf a to jsi musel v něčem pouštět (ve Flashi). Koukám, že existuje nějaký FlexJS v betaverzi, ale je otázka, jak dobře to funguje. A určitě to nebylo ve hře, když se tehdy řešila budoucnost Flashe.
„To je jako porovnavat ASM co vygeneruje gcc s ASM co napise clovek“ je tady úplně mimo mísu. (Jinak ten ASM z GCC bude většinou rychlejší, neexistuje moc lidí co by zvládli využít všechny vlastnosti moderní architektury.V tomhle souhlasím. Assembler už dávno není jediná možnost a není to ani jazyk, ve kterém by běžný programátor byl schopný napsat lepší kód, než jaký vygeneruje třeba GCC z Céčka, C++, nebo D, Rust atd. A i u těch nejlepších programátorů, kteří by toho byli schopní, to v naprosté většině není dobrý nápad, protože se to prostě nevyplatí (jejich čas jde jde využít jinak, lépe, a ten zanedbatelný nárůst výkonu za to nestojí). Assembler má dneska smysl leda pro nízkoúrovňovou interakci s HW a extrémně optimalizované věci jako video kodeky nebo šifrování.
Zvlášť když pořád narážím na lidi co se drží představ jako že linked list je rychlejší pro insert a remove prvku z prostředku než ArrayA není snad? Celkem se mi líbí, jak to řeší Java – tam máš rozhraní List (případně obecnější Collection) a můžeš si vybrat mezi různými implementacemi (spojový seznam, ArrayList atd. nebo si napsat vlastní) podle předpokládaného použití (nebo třeba inicializuješ ArrayList s dostatečnou kapacitou, aby se později velikost už nemusela měnit), ale je to schované za tím obecným rozhraním, takže i když zvolíš méně vhodnou implementaci, používá se to pořád stejně (může to být pomalejší, ale většinou je ten rozdíl zanedbatelný, takže i když dáš ArrayList tam, kde měl být LinkedList, není to žádná tragédie – a pokud na tom záleží, tak to později můžeš optimalizovat a pro volající stranu se nic nemění, jen to bude rychlejší).
Ten sdružený typ pro kolekci by mohl být v tomhle teoreticky zajímavý s nějakým chytřejším compilerem, který vybere interní implementaci podle použití.
Proto mám tyhle abstrakce rád. Ono bys novou instanci nemusela vytvářet přes konstruktor, ale přes nějakou továrnu / tovární metodu a ta by vybrala optimální implementaci.
Ale taková úroveň abstrakce by nejspíš motivovala k použití stylem který pořádně nejde optimalizovat žádným směrem.
Asi by to šlo optimalizovat něčím jako GraalVM nebo obecně profilováním za běhu, kdy to chvíli běží nějakým základním způsobem a časem se to překonfiguruje podle toho, jak to používáš.
Zajímavé mi přijde i použití indexů/offsetů místo klasických ukazatelů při vytváření různých struktur. Jsou to vlastně relativní ukazatele a oproti těm globálním to může být menší datový typ a taky to můžeš celé přesunout jinam nebo serializovat a ty relativní ukazatele budou pořád platit.