Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].
Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.
… více »Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.
Byl vydán LineageOS 23.2 (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.
Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.
Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »
Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.
Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.
Mám otázku, nestálo za to zkusit to používat přímo v Pypy?Co se mě týče, tak ne (programovací jazyk nemá smysl dvojitě interpretovat), obecně bych to ale asi mohl doporučit. V práci jsem asi před 3/4 rokem řešil něco podobného. Dělal jsem benchmark na nuitku, cython, numbu a rpython, jak co se týče rychlosti, tak co se týče pracnosti přepisu. Nakonec jsme prostě jen vyprofilovali který kus kódu žere nejvíc CPU a ten jsem přepsal do rustu. To bylo nejmíň pracné a navíc nejrychlejší co do rychlosti programu. Původně jsem o tom chtěl napsat článek, ale nakonec jsem se k tomu nedostal. Používal jsem Pythonium Trioxide. Pypy ale obecně bývá nejjednodušší varianta. Jinak co se týče čísel, tak můj úplně první benchmark v (c)pythonu 2.7 trval 2583 sekund, pod pypy 30.25 sekund a kompilovaný rpythonem bez JITu a optimalizací 16.26. Od té doby jsem to ještě mnohokrát zrychlil pod rpythonem, imho to ale pěkně ukazuje, jak moc velký může být rozdíl mezi pypy a klasickým cpythonem, speciálně když tam třeba často vytváříš dicty, nebo něco drtíš ve smyčce.
Mám pocit, že na linuxu se k tomu pod libc běžně používá __start.
No, to není úplně to samé... V C main bude vždy main, je to dané i standardem. __start je v podstatě implementační detail, např. vytváří seznam argumentů a environment proměnných, který je procesu předán OS/platformě-specifickým způsobem, pak taky inicializuje nějaký věcí C runtimu (např. locale, tuším, doufám, že nekecám) ...
Ve zkratce je vytvořen flow graf kódu, který je poté projit analyzátorem datových typů, jenž se snaží jednotlivým elementům přiřadit statické datové typy.Ví někdo, jestli RPython na tohle používá Hindley-Milner / algoritmus W, nebo jestli mají nějaké svoje custom řešení?
__start je v podstatě implementační detail, např. vytváří seznam argumentů a environment proměnných, který je procesu předán OS/platformě-specifickým způsobem
Jak moc je vytváří? Protože, když jsem si s tím před časem hrál (Přepisování parametrů příkazové řádky), tak jsem zjistil, že OS i program koukají na to samé místo v paměti, takže z programu můžeš přepsat to, co vidí OS a zobrazují různé nástroje na výpis procesů.
pak taky inicializuje nějaký věcí C runtimu (např. locale
Tak to už to mohli udělat tak, aby nebylo nutné na začátku programu psát setlocale(LC_ALL, ""); …
Záleží z pohledu čeho se na to koukáš. Z pohledu C standardu jakým způsobem se ten vektor vytvoří je implementation-defined. AFAIK změnit obsah těch stringů můžeš, ale jestli se to projeví ještě někde jinde je IMHO opět implementation-defined. V praxi na Linuxu AFAIK ty startovací funkce jen vyhrabou pointer na ten vektor někde ze stacku a předají to mainu. Víc detailů viz tenhle blog, ale je dobrý pamatovat, že autor se na to kouká na x86. Na jiný architektuře to třeba může fungovat trochu jinak. Nemluvě o specifikách jiných OS (BSD, Mac, ...).__start je v podstatě implementační detail, např. vytváří seznam argumentů a environment proměnných, který je procesu předán OS/platformě-specifickým způsobemJak moc je vytváří? Protože, když jsem si s tím před časem hrál (Přepisování parametrů příkazové řádky), tak jsem zjistil, že OS i program koukají na to samé místo v paměti, takže z programu můžeš přepsat to, co vidí OS a zobrazují různé nástroje na výpis procesů.
Tento blog by mohol byť označení ako Kvalitný zápis.
Zase na druhou stranu v tomhle vidím přednost těch matfyz talkůJa se drzel demonstracnich prikladu a prednasek od lidi z Oracle a misty se to rozchazelo nejen mezi sebou, ale i s API, ktere bylo k dispozici. Misty to byla opravdu narocna detektivni prace. Nakonec jsem to rozchodil, ale cekal jsem, ze to bude jednodussi. Ale uz je to nejaky patek, mozna s tim pohli. V kazdem pripade, kdyz se to stabilizuje a napisou k tomu rozumnou uptodate dokumentaci s priklady (coz by mi prislo uzitecnejsi nez talky na univerzitach a konferencich), tak to bude super.
Tohle přednáší přímo autor GraalVM, takže to má člověk z první ruky :-)
Tiskni
Sdílej: