Jump to content

Žebříček

Populární obsah

Showing content with the highest reputation on 07/21/20 in all areas

  1. Po zahlédnutí prvního topicu na toto téma (cca květen tohoto roku) jsem se rozhodl diskuzi ignorovat, protože mi přišla více než zbytečná. Dnes si znovu procházím fórum a jen bych chtěl za sebe uvést některé věci na pravou míru (na tom, že je téma zbytečné si stále stojím). Již tehdy jsem si zjišťoval veškeré informace a dal jsem si tu práci kontaktovat přímo majitele ROSA. Pardon jestli se pletu, ale mě nikdo nekontaktoval Nechci se tady nad nikoho povyšovat, ale Honza stál u založení avšak byl to jen pawner, který po krátké době odešel stylem vybanování serveru (viz. moje citace a Honzova zpráva kterou přiložil výše ATomas). Proto cokoliv si "komunikoval" s Honzou, tak bych rovnou vypustil z hlavy, jelikož sám byl u chodu serveru dohromady ani ne polovinu času, co server běžel. Pokud si chtěl info, tak si kontaktoval špatnou osobu. Navíc mu v jeho příběhu chybí některé období jako například, že po jeho podrazu jsem server dal do pořádku a stále provozoval až do doby, než zamnou přišel s prosíkem (stejně jako za ATomasem), že by se chtěl znovu podílet na vývoji. To by asi majitel nedělal, nepletu se? Každopádně jsem mu již nevěřil a když viděl, že mu mód nepošlu, tak to vzdal + jak uvádí, že napsal 95% kódu, tak mu nedochází, že já sám pokračoval 3-4 roky ve vývoji (i když uznávám že posledního cca půlroku skoro nulově). Ale to jsem jen chtěl objasnit některé věci. (Dodnes jsem jediný, kdo má poslední hranou .pwn verzi módu.) Jediný, kdo kontaktoval majitele serveru a módu RoSA byl ATomas, který mi formou SZ zde na pawnu napsal, a s kterým jsem si probral některé věci. Server vybanoval a hráče na SP směroval Honza, ale poté jsem server znovu dal do pořádku a dál ho do roku 2018 provozoval, než jsem ho sám osobně vypnul i kvůli mé časové vytíženosti. Není co víc k danému tématu vyřešit.
    3 points
  2. Nedávno jsem narazil na zajímavou problematiku, která se využívá při stavbě time-sensitive prostředí a šifrovacích algoritmů. Jde o tzv. branchless programming - tedy programování bez větví. Toto téma je zajímavé hlavně pro ty z vás, jenž zaujme malá zajímavost o programování. V reálné praxi se tyto "triky" využívají jen pro šifrovací funkce a při programování grafických shaderů. Moderní kompilátory high-level jazyků jsou výbornými optimizéry - snaží se kompilovat co nejjednodušeji zchroupatelný kód pro procesory zvolené architektury. V praxi to znamená, že jsou schopny generický kód s podmínkami relativně dobře zhodnotit a podmínky rovnou přeložit jako jejich branchless verzi. Toto se ovšem týká jen jednodušších řešení, pro které branchless verze má nějaký smysl. Branchless programming není něco, co se musí, nebo mělo by se, striktně dodržovat - ba naopak, kompilátory ve většině případů dokáží nejlépe určit, zda-li je překládaný kód výkonnější v branchless verzi a rovnou jej tak přeloží. Při programování platí jednoduché pravidlo - programovat hlavně čitelně, optimalizovat až při potřebě rychlejšího výkonu. A před samotnou optimalizací (a případným branchless kodingem) zvážit, zda-li se zapsaný algoritmus nedá vyřešit efektivnějším způsobem. Branch (větev, blok, sekce) Kód se jakoukoliv podmínkou rozděluje a větví - každé této oddělené části, či bloku kódu se říká branch (neboli větev). if(something == 10) { //Branch A } else { //Branch B } Vzhledem ke způsobu funkci procesoru je každý branch zbytečná zátěž navíc - toto platí několikanásobně u GPU výpočtů, protože procesorová pipeline spouští několik instrukcí současně, tímto se mohou spouštět obě cesty podmínky zároveň a po vyhodnocení podmínky se všechny neplatné výpočty (branch, pro kterou není splněna podmínka) prostě zahodí. Aneb kompilátor vytvoří instrukce pro zhodnocení podmínky a v případě nepravdy "přeskočí" na jiný než následující řádek v kódu - toto je operace, která je pro procesor zbytečně vytěžující. Branchless v praxi Představme si následující funkci min() - která zjistí, které ze dvou předaných čísel je menší než druhé: function min(int a, int b) { if(a < b) return a; //Branch A else return b; //Branch B } A nyní její branchless verzi: function min(int a, int b) { return a*(a<b)+b*(b<=a); } Je trochu nečitelná, ale víceméně jednoduchá. Dle většiny programovacích jazyků, je tento zápis vyhodnocen například takto: a = 4; b = 6; return (4*true) + (6*false) = return (4*1) + (6*0) = return 4 + 0 = return 4 Nejen, že jsme kompletně vynechali podmínku v kódu, ale také zkrátili funkci ze 4 řádků na jeden a celou operaci provedli jen matematickým výpočtem. Tato funkce je velmi jednoduchá operace, nicméně její branchless verze se na první pohled může zdát poměrně nečitelná - proto se překlad do těchto branchless funkcí nechává více-méně na kompilátorech, díky kterým můžeme psát čitelný kód a i přesto nám jej kompilátor přeloží v optimalizované verzi. S každou přibývající složitostí a komplexností je branchless kód nečitelnější a zamotanější. Například funkce pro přepis znaků řetězce na velká písmena: function toUpper(string text) { for(int i=0; i<text.length; i++) { text[i] -= 32 * (text[i] >= 97 && text[i] <= 122); } return text; } //97 = 'a' //122 = 'z' //32 = 'Z' - 'a' offset Závěr I přesto, že toto není návod, tak doufám, že jsem vám předal alespoň nějakou zajímavou informaci. Pokud se mi povedlo vás zaháčkovat a jste hladoví po dalších informacích, tak vám nabídnu další zdroje, ze kterých jsem čerpal při sepisování tohoto topicu. Branchless programming je zajímavá technika - zřídka kdy využitelná při běžné praxi, nicméně způsobů jak vyčarovat branchless verzi složitých funkcí, je nepřeberné kvantum. Další zdroje: https://stackoverflow.com/questions/6133322/what-does-a-branchless-if-in-c-look-like https://hbfs.wordpress.com/2008/08/05/branchless-equivalents-of-simple-functions/ https://stackoverflow.com/questions/31897718/branchless-conditionals-on-integers-fast-but-can-they-be-made-faster https://stackoverflow.com/questions/32107088/how-can-i-make-branchless-code
    1 point
  3. Zdravím, prý si mám založil vlastní téma, dobrá. Obdržel jsem od niCeho email (13. 7. 2020) s tím, že si všiml, že ATomas vydal příspěvek na serveru Pawno.cz - pawno.cz/index.php?/topic/55348-atomas-zni%C4%8Dil-rosa/, tento topic je již nedostupný poté co jsem tam zaslal veškeré pádné důkazy o tom, že ATomas lže. ATomas ve svém topicu tvrdil, že nestojí za zničením ROSA a že jsou to všechno jenom vykonstruované lži. Již tehdy jsem si zjišťoval veškeré informace a dal jsem si tu práci kontaktovat přímo majitele ROSA. Zaslal jsem dopis majiteli stránky (ATomasův herní server, jenž nekončí .eu, ale .cz). Zaráží mě, že i v dnešní době má někdo potřebu potlačovat něčí názor i když k tomu má pádné argumenty, případně důkazy. Jenom podotknu, že ten topic tam byl od května 2020 a až teď, když jsem se k tomu vyjádřil a předložil veškeré důkazy, tak se příspěvek smazal a ATomas mě označil, že nejsem věrohodný a všestranný, ale že jsem čistě fanoušek niCe. Tento příspěvek s důkazy nakonec neměl vzniknout, ale poté co jsem se dozvěděl, jak dělá ATomas ze sebe nevinného, že nic nezpůsobil, tak jsem musel zakročit a říct pravdu. Přeberte si zmíněné důkazy jak chcete. imgur.com/a/lYGGVYz
    0 points
  4. Zamýšlím se nad tím, jestli je tenhle topic pokus o to oživit fórum a nalákat komunitu nějakým pořádným trollem, nebo to tu skutečně někdo myslí vážně. Každopádně ať je to jakkoliv, tak se to opravdu povedlo, protože takhle jsem se tu vážně dlouho nepobavil. Good Job 🤣
    0 points
  5. Nevim, proc se to tu pise. S temi domenami jsem jen odpovidal uzivateli, ktery se na to ptal.
    0 points
  6. Oprav me, pokud se pletu, ale rekl bych, ze nikoho to nesere. Jedinej koho to zrejme sralo, byl Atomaskovic, kteremu se asi nelibilo, ze se o tom jeho podvodu mluvi a mel potrebu zde napsat lzi, jak on za zadnym znicenim konkurence a podvodem nestoji. Jinymi slovy, tuhle lez, do ktere se zamotal, inicioval on. Od toho kvetna se tu probiralo akorat to, ze Atomaskovic je obet a ze je to proti nemu spiknuti a kampan. Coz mu zrejme vyhovovalo. Ted se zde doplnily dukazy, ktere ukazuji, ze Atomaskovic je lhar a zamerne lhal uzivatelum tohoto fora, a uvedlo se to na pravou miru, protoze dva mesice tu uzivatele mohli cist akorat Atomaskovicovy lzi.
    0 points
  7. Atomaskovic si v kvetnu 2017 registroval domenu gtamultiplayer.cz na svoje jmeno, kterou presmeroval na svuj web a server, aby tim poskodil WTLS. Pote, co byl upozornen, ze se jedna o protipravni jednani (nekalou soutez), tak domenu prevedl na fiktivni a neexistujici osoby - od zari 2018 do zari 2019 vlastnil domenu Adam Novak s neexistujici adresou a od zari 2019 do zari 2020 domenu vlastni Petr Novak, rovnez s neexistujici adresou (pozdeji po nahlaseni na CZ.NIC zmenena na existujici adresu, na ktere ale zadny Petr Novak nikdy nebydlel). Tato domena je stale uz nekolik let presmerovana na server Superparby. Domenu superparba.cz si zaregistroval majitel RoSA a presmeroval ji na web GTA-MULTIPLAYER.CZ. Pote co jsem si toho vsiml jsem ho upozornil, ze si toto nepreju, protoze nemam zapotrebi delat takove svinarny jako Atomaskovic. Myslel jsem, ze tim je problem vyresen. Jenze po delsi dobe, co Atomaskovic zacal pouzivat pro registraci domeny fiktivni a neexistujici Novaky a opet presmeroval gtamultiplayer.cz na server Superparby, tak jsem majiteli RoSA rekl, ze svuj predchozi pozadavek, aby domena superparba.cz nebyla presmerovana na muj web, beru zpatky, protoze Atomaskovic pokracuje i nadale ve svinarnach.
    0 points
  8. To tema tu bylo dva mesice. Dva mesice ze sebe Atomaskovic delal obet, ze on za nic nemuze a vsechno je to kampaaan. A nikomu to tema nevadilo. Ale hned, jak se v tematu objevi zcela jasne dukazy, ze je to lhar, tak tema najednou zmizi a nesmi se o tom diskutovat. Proc? Myslim si, ze je to docela uzitecne varovani pro ostatni, ze Atomaskovic je zrejme podvodnik, ktery v minulosti podvedl majitele konkurencniho serveru, okradl ho de facto o server a hrace. Kdyby nebyl blbej, tak o tom nikde nepise a nikdo by se o tom ani nedozvedel. Ale ze si dovoli po takove dobe zde napsat jeste takove lzi a delat ze sebe obet, to je neuveritelne.
    0 points
×
×
  • Create New...