abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 2
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 5
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 22
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 5
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 146 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    Rozcestník

    ChakraCore od Microsoftu na GitHubu

    V prosinci Microsoft oznámil (zprávička), že v lednu uvolní ChakraCore, tj. jádro svého javascriptového enginu Chakra používaného v prohlížeči Edge, jako open source. Dnes se tak stalo. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    13.1.2016 22:44 | Ladislav Hagara | Zajímavý software


    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    14.1.2016 00:29 Jardik
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Hahaha
    typedef uint8 Char;
    typedef uint8 UChar;
    static const int CharWidth = sizeof(char) * 8;
    
    Proč? sizeof(char) je vždy 1! Pan vývojář se snažil být chytrý a utvořit portabilní kód a dopustil se neznalosti ... a kousek za tím udělá *8, kde jeho pokus o portabilní kousek kódu zhatí nepoužitím CHAR_BIT a zamezí spuštění javascriptového enginu na takových platformách jako Texas Instruments C54x. Jeden by mohl říct, že přece uint8_t na takové platformě ale neexistuje ... to je pravda, ale co je uint8, to nevím, třeba je to nějaká náhražka uint_least8_t, nechce se mi hledat...
    static inline CharCount OSB(const Char* ph, const Char* pl)
    {
        Assert(ph >= pl && ph - pl <= MaxCharCount);
        return (CharCount)(ph - pl);
    }
    
    Aáá, tohle je hodně nebezpečné, protože výsledek odčítání pointerů je znaménkový typ, na který existuje typedef ptrdiff_t, na některých platformách ee, protože jakmile je rozdíl pointerů velký, máme tu UB. Takovými chybami je ale ostatně prošpekována třeba i glibc. Takový musl libc kvůli tomu udělal omezení, že malloc pro více jak PTRDIFF_MAX selže s ENOMEM, a zakazují programátory používat velké datové struktury. A dokonce i GCC a clang jsou na tom špatně, mají pointery a element indexy (llvm) jako čísla se znaménkem. Fůj.
    14.1.2016 01:56 zer0
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    a zamezí spuštění javascriptového enginu na takových platformách jako Texas Instruments C54x
    No za to ho určitě čeká vyhazov
    14.1.2016 11:26 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    No za to ho určitě čeká vyhazov
    :-D :-) :-D
    14.1.2016 09:19 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Jestli tohle jsou nejvážnější problémy, jaké tam mají, tak mají můj upřímný obdiv.
    14.1.2016 15:03 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    To já nevím, já kouknul jenom do pár souborů, nemám náladu pročítat celý zdroják.
    14.1.2016 15:20 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Na mne to tak nějak působilo, že jste je chtěl rychle a bez námahy zesměšnit, tak jste si našel nějakou drobnost, po které byste se mohl vozit podle hesla "kdo chce psa bít…". Jinak byste totiž např. během pár desítek sekund zjistil, že uint8 je typ, který si sami definují v jiném hlavičkovém souboru, a spíš se ptal na __int8, což je asi nějaký nativní typ specifický pro MSVC.
    14.1.2016 16:11 Xerces
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Na mne to tak nějak působilo, že jste je chtěl rychle a bez námahy zesměšnit ... tak to je u MS asi zbytečná snaha. To zvládnou s přehledem sami.
    14.1.2016 18:23 Ivorne | blog: Ivorne
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    To sizeof(char)*8 je fakt docela vtipný. Autor se snaží být super korektní pomocí sizeof(char), což ani není nutné, a přitom tu super korektnost hned zase zkazí.
    14.1.2016 18:24 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    To určitě ne. Já upozorňuji na programátorské chyby a předpoklady, které nacházím poměrně často v mnoha projektech. Rozdíl ukazatelů je velmi např. velmi nebezpečná věc, v mnoha kompilátorech je implementována vyloženě špatně a nikdo se ji nesnaží opravit (např. protože "overhead"). V mnoha knihovnách vidím věci jako size_t length = end - start, přitom výsledek je znaménkový a může být špatný. Vemte si třeba pole znaků o velikosti 3GB na x86 platformě, start je třeba adresa 1 a konec 3G+1, ptrdiff_t je v případě gcc/glibc na této platformě 32bit znaménkový typ, který těžko pojme hodnotu 3G a podle standardu je to tedy UB (protože výsledek rozdílu pointerů to nepojme). Taky občas narazím na případy if (start + len > end) nebo kde se snaží zkomponovat kontrolu přetečení if (start + len > end || start + len < start), kterou kompilátor zoptimalizuje a vyhodí pryč, protože předpoklad je, že pokud k adrese objektu připočtu jeho maximální velikost, nemůžu dostat adresu menší (v podstatě stejně, jako když máte UB s přičítáním znaménkových typů, kdy si myslíte, že může dojít k overflow a kompilátor vaši kontrolu vyhodí, protože je to UB, nemělo by to nastat a tak není třeba kontrolovat). Programy se pak záhadně rozbíjí při práci s trochu většími daty. Problémy jsou to bezpečnostní, protože jsou zneužitelné. UB třeba může vést ke smazání celého disku.
    14.1.2016 21:04 Ovocníček
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    No jo, ale když to takhle kritizuješ z křesla místo bugreportu, tak můžeš ignorovat některé skutečnosti, které autoři ví a ty zatím ne. Spousta věcí které se nově příchozímu inteligentovi zadjí být pitomé má svoje promyšlené důvody, takže to někdy chce opatrnost. Ale neříkám, že tady nemůžeš mít pravdu, to holt netuším.
    14.1.2016 21:48 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Bugreporty, třeba v GCC, glibc i musl, dávno existují, popř. témata v diskusních skupinách, kde se vyjadřují i autoři. Prostě jim nestojí za to podporovat velké objekty, a když si jej náhodou vytvoříte třeba přes mmap() (přímo syscallem a né wrapperem v libc, který vás třeba, jako v musl libc, omezuje na PTRDIFF_MAX), tak vám nic nezajišťuje funkčnost libc funkcí, které s takovým objektem budou následně pracovat. Nedávno se třeba řešilo téma "Possible infinite loop in qsort()" v musl libc, což je následek takových různých předpokladů a umělých a někdy hlavně i nedokumentovaných omezení algoritmů. Ostatně právě i tam je hezký příklad, který se také často vyskytuje:
    char *match = strstr (arg, str);
    size_t to_len = match - arg;
    
    Je to UB, když arg je hodně dlouhý a str je někde u konce, máte třeba 3,5G - 1G = 2,5G a to třeba na na x86 neprojde, protože PTRDIFF_MAX je menší. No a k tomu pak ještě ten implicitní typecast z ptrdiff_t na size_t, který problém hezky zamaskuje a utvoří nám kladné číselko, pokud se nám díky UB předtím nespálil procesor. (x86 a dané velikosti jsou příklad, obyčejně mě x86 nezajímá, ale platí to pro všechny platformy obecně, při správně velkých velikostech).

    Podobný problém je pak v C++ třeba u iterátorů a některých (třeba ručně implementovaných) kontejnerů, kde není funkce typu max_size(), díky čemuž pak nemůžete předpokládat, že nenastane UB při rozdílech iterátorů. Koukněte třeba do kontejnerů, co si MS (někdy prostě zbytečně, protože nechcou použít altarnativu ze standardní knihovny) implementuje, nebo InternalString apod. splácaniny, co mají všude rouzdílné skryté a nedokumentované limity (např. INT_MAX, UINT_MAX atd), které ještě jsou všude rozdílné a nemůžete si tak ničím být jistí. A ještě náhodné zaměňování typů long a int, která na windows x32 i x64 mají náhodou stejnou velikost.
    14.1.2016 21:13 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Na to nelze než zopakovat, co jsem napsal ráno v 9:19.
    14.1.2016 21:53 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Cílem ale není zesměšnit MS, ale ukázat ostatním, že takové chyby (které nepovažuji za bezvýznamné, hlavně u aplikací typu webový prohlížeč) se vyskytují a né jen u MS, ale i jinde. Někdo si to třeba vezme k srdci a až bude psát svůj projekt, bude pamatovat na moje hlody a dá si na to pozor, třeba jen proto, aby Jardík neměl blbý řeči. A nebo taky ne.
    14.1.2016 22:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Nebo se raději zamyslí nad tím, jestli je reálné, aby pole, nad kterým provádí pointerovou aritmetiku, mělo na 32-bitové architektuře více než dvě miliardy prvků.
    14.1.2016 23:07 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Ano, je. A ve windows je např. nějaká ta funkcionalita na remapování virtuální paměti, jak jen se to jmenuje ... v podstatě si i 32bit aplikace může adresovat hodně z celkové fyzické paměti a přepínat si je, aby se jí to mapovalo do její virtuální paměti, podle toho s čím zrovna potřebuje pracovat. Ale ta architektura byla příklad, klidně si zaměňte za jinou (x64 asi ne, tam je tuším limit nějakých použitelných 48 bitů).
    15.1.2016 10:26 Sid
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    to stale nemeni podstatu odpovede nad tebou. Clovek co potrebuje 2miliardove pole by zjavne asi dospel k tomu aby to prelozil na 64bit, nemyslis? Ale ok, cim menej miest kde sa moze nieco pokazit tym lepsie, len by to malo mat mieru.
    15.1.2016 11:18 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Jmenuje se to AWE a porad se nedostanes mimo ty dve giga, co ma proces pridelene, takze se to neprojevi.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    15.1.2016 20:26 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Proč se nedostanu mimo 2 giga? Je tam nějakej přepínač pro kernel, který mi dovolí 3GB, ale o to tu nejde.
    14.1.2016 22:41 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    aby Jardík neměl blbý řeči
    A najde si jardik divku, aby nemel odin blbe reci? :-)
    14.1.2016 17:58 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Uz mas praci? Divku? Samostatne bydleni?
    14.1.2016 18:04 Jardík
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Nemám, nemám a taky nemám. Za to mám teď problémy se štítnou žlázou a erekcí.
    pushkin avatar 14.1.2016 08:15 pushkin | skóre: 43 | blog: FluxBlog
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    Ať si ho strčí coby čípek!
    14.1.2016 15:46 Karel
    Rozbalit Rozbalit vše Re: ChakraCore od Microsoftu na GitHubu
    sám sobě si čípek strč

    Založit nové vláknoNahoru


    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.