• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    /* Toto je klub především pro lidi, pro které je programování jednou z mnoha massive multiplayer online počítačových her, které lze hrát.
        V tomto klubu hrozí sémantická hereze a nezdravě vysoký obsah syntaktického cukru. Nevhodné pro algoritmické diabetiky.
        Od účastníků debaty se předpokládá automaticky přístup k instalovanému GNU C: sudo apt-get install build-essential
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    C (programovací jazyk)#C99 Heslo na české Wikipedii
    Jazyk C - Základy praktického programování V Praze 2oo7 pro SSPŠ Tomáš Harvie Mudruňka a kolektiv - jak si programování v C představuje většina lidí
    http://stevenkobes.com/ctest.html C Programming Puzzlers - nepouštějte se do flamewars v tomhle klubu, pokud neuhodnete aspoň polovinu správně!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://en.wikipedia.org/wiki/C99 C99 is a modern dialect of the C programming language.
    http://cprogramminglanguage.net/ C programming language
    http://cprogramminglanguage.net/c-programming-language-tutorial.aspx C programming language - úvod
    http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language C makes it easy to shoot yourself in the foot. (ještě že ne do hlavy...)
    http://en.wikipedia.org/wiki/C_preprocessor
    http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html C99 makra s proměnným počtem argumentů - __VA_ARGS__
    http://gcc.gnu.org/onlinedocs/gcc/ GNU C Compiler
    http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Optimize-Options.html
    http://bellard.org/tcc/ Tiny C Compiler - prý C99 compliant (min. umí __VA_ARGS__) - vhodný pro skriptování v C - umí #!/usr/bin/tcc -run
    http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest - pokud jste neviděli tohle, tak jste ještě neviděli opravdu nečitelný C zdroják
    http://bellard.org/otcc/ Obfuscated Tiny C Compiler - z tohohle vtípku vznikl Tiny C compiler
    http://en.wikipedia.org/wiki/ANSI_C Jak se střelit do nohy standardizovaným způsobem.
    http://eli-project.sourceforge.net/c_html/c.html ANSI C Specification
    http://www.lysator.liu.se/c/ Různý ANSI C bordel
    http://www.cs.rit.edu/~ats/books/ooc.pdf Object Oriented Programming with ANSI-C - a pak že to nejde
    http://en.wikipedia.org/wiki/Longjmp co jsou to setjmp()/longjmp() knihovní funkce (pro všechny, podle kterých to bez C++ try { } catch() ... nejde)
    http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/dcdc710c27f47c72 C neumí správně počítat (?)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://www.fastcgi.com/ FastCGI is simple because it is actually CGI with only a few extensions.
    http://www.metalshell.com/source_code/18/Mysql_Select.html How to do a simple connection and select with mysql
    http://xmlsoft.org/ The XML C parser and toolkit of Gnome
    http://curl.haxx.se/libcurl/ libcurl - the multiprotocol file transfer library
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    https://dev.arachne.cz/svn/cll1h SVN/Trac jazyka C<<1 (user-friendly nadstavba nad ANSI C99 - ve stylu JQuery vs. JavaScript)
    Benchmark iterace a serializace stringů v různých jazycích vs. v C
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        moderátor se velice zhruba řídí zvyklostmi moderace, která kdysi platila v řadě konferencí sítě FidoNet ... C != 0xdead */
    rozbalit záhlaví
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ve skutečnosti, spíš jsem začal úplně nové téma, než že bych někam odbočoval.

    je pravda, že distribuované výpočty mě zajímají daleko více v heterogením prostředí - co se týká administrace nebo vlastnictví hardware - než v homogenním prostředí.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: A v takovym momente, kdy tahas data ne po optice z jinyho patra, ale pres internet z ruznejch koutu sveta ti predkompilovany SQL dotazy pomuzou skalovat jak?
    Nebo si uplne odbocil od toho tematu a ted jde o to ze bezna distribuovana aplikace (ala treba Skype) by nemela bejt psana v PHPku ale v Ccku?
    ALMAD
    ALMAD --- ---
    // OT
    XCHAOS: No psal jsi, že spíš než škálovat by se mělo psát v kompilovaných jazycích. Já jenom říkám, že čístá rychlost se afaik spíš řeší víc nodama.

    Ty říkáš, že cíl je být tak kompilovaně efektivní, že víc/tolik nodů nepotřebuješ.

    Já se jenom ptám, jestli jsi schopen svoji kompilovanou službu zrychlit dvojnásobně přes noc (viz slajd), to je celé.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: v podstatě, jediné, čím se chci odlišovat od těch komerčních služeb, je vlastnická struktura jednotlivých nodů. jinak počítám s tím, že by jednotlivé nody řešily i otázku cachování (např. když folowuješ někoho na jiném nodu na druhém konci světa, tak se to natáhne jako RSS feed a jeho obsah se nacacheuje na tvém nodu, apod.)
    XCHAOS
    XCHAOS --- ---
    REDGUY: je to tu offtopic... ale pokud by si byl schopen i sémantické, nikoliv jen syntaktické analýzy :-) tak ti dojde, že obrat "na druhou stranu" znamená, že uvedené aplikace pokládám za protiklad "komerční služby".
    XCHAOS
    XCHAOS --- ---
    ALMAD: no třeba tak, že různé obchodní modely vedou k různým pořadavkům na škálování? nezačínáme být offtopic? když už, tak piš o distribuovaném programování jak se dělá... debata, jestli je nebo není potřeba, je taky offtopic.

    (můj model je taky distribuovaný - jen se liší tím, zda je k dispozici jednotná administrace a jednotné vlastnictví hardware...)
    ALMAD
    ALMAD --- ---
    XCHAOS: A to co píšeš souvisí se škálováním těch jednotlivých nodů jak?
    REDGUY
    REDGUY --- ---
    XCHAOS: , že by to fungovalo víc jako v počátcích Internetu, kdy nějakou jednu službu (dejme tomu, freemail) nenabízel jen jediný poskytovatel té služby na celé planetě - ty mas pocit ze ted freemail nabizi jediny poskytovatel na cele planete?

    V podstatě u komerční služby je riziko, že bude přetížená a uživatelé odejdou ke konkurenci, v zásadě nepřijatelné. na druhou stranu, existují projekty - ve světě PHP si dokonce konkurují, všechny ty Drupaly a WordPressy a Nejdriv mluvis o "komercni sluzbe" a pak najednou o Drupalu a Wordpressu - coz nejsou sluzby, ale software. Je ti jasnej rozdil mezi sluzbou a softwarem?

    akorát to bude od začátku lépe navržené - "to"? Co, "to"? Novej email, lepe navrzenej .... tebou? Srsly?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Pockej, kazdej provozovatel velky sluzby ma pochopitelne spoustu ruznejch nodu ruzne po svete. Plus nejaky cache servery "blizko" uzivatelum (u ISP) apod. A nebo sem totalne nepochopil o cem mluvis.
    XCHAOS
    XCHAOS --- ---
    ALMAD: víceméně, představa je, že by to fungovalo víc jako v počátcích Internetu, kdy nějakou jednu službu (dejme tomu, freemail) nenabízel jen jediný poskytovatel té služby na celé planetě, kromě to samé často koexistovalo jak v komerční tak i v bezplatné podobě, apod.

    V podstatě u komerční služby je riziko, že bude přetížená a uživatelé odejdou ke konkurenci, v zásadě nepřijatelné. na druhou stranu, existují projekty - ve světě PHP si dokonce konkurují, všechny ty Drupaly a WordPressy a tak - které jsou přímo myšlené tak, že si další a další lidé budou instalovat další a další instance, a ne že nody budou růst nade všechny meze.

    víceméně provozovatelé různých nodů budou různě limitováni dostupnými zdroji (bandwidth, výkon systému, kapacita disku...). budou mít ale i omezené možnosti svůj node zpropagovat a nabírat nové členy. naopak zřídit nový node by mělo být snadné.

    spíš si to představuji jako počátky internetového e-mailu před 20 lety. akorát to bude od začátku lépe navržené, aby to bylo odolnější vůči spamu apod. ... no dnešní centralizovaná řešení to vytlačí stejně, jako před 20 lety decentralizované internetové protokoly vytlačily tehdejší pokusy o centralizovaná řešení (a ty rozhodně existovaly)
    ALMAD
    ALMAD --- ---
    XCHAOS: To znamena mit porad k dispozici nevyuzitou kapacitu kdyby nahodou prisla spicka?

    Otazka taky samozrejme je, o jakym skalovani se bavime.

    Ono totiz uspesna appka je uspesna a zajimalo by me, zda by si stih optimalizovat svoje Ccko v takovem pripade.

    Protoze...

    XCHAOS
    XCHAOS --- ---
    ALMAD: on demand zapnutí pár tisíc mašin je to, čemu bych se chtěl snažit vyhnout. to je celé...
    ALMAD
    ALMAD --- ---
    XCHAOS: akorát mi přišlo děsně cool, že Python nepotřebují k tomu,aby běžely, ve své době...a taky jsem ho neuměl

    I sense a pattern here ;)

    XCHAOS: Ten narazovy paralelismus, neresi se spis on-demand zapnutim par (tisic) masin, nez tim, ze na jednom stroji budes mit desetinasobnou propustnost?
    REDGUY
    REDGUY --- ---
    XCHAOS: co je "současný stav": ten stav, ve kterem tvoje novinka ma "zamichat kartama".

    Jestli se bavíme o tom, jestli má nějaké výhody smolit webové aplikace v PHP - tak nadále tvrdím - ne, nemá, měly by se vyvíjet v kompilovaných jazycích. - coze? O tom se nebavime (a btw, prvni pulka odpovedi je dobre, druha spatne 8) ). Bavime se o nejakem tvem "predkompilovanem SQL", u ktereho nejsi bohuzel schopen poradne popsat co vlastne by to melo byt a k cemu by se to melo pouzivat.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: v tom případě ten, komu se to stalo, se svou intuicí neumí pracovat (teď se samozřejmě nebavím o případech, kdy si Hitler intuitivně myslí, že v Rusku bude mírná zima :-)

    _BENNY: já ale netvrdím, že intuice je nějaký okamži tý proces, nebo že dodá hotová použitelná řešení. intuice tě spíš směruje určitým směrem. intelekt na to reaguje dodáváním určitých řešení, které je ovšem samozřejmě nutné podrobit kritice.

    REDGUY: co je "současný stav"? jako jo, pokud se bavíme o některých věcech, co jsem napsal dřív v C a nevyžadují reagovat na uživatelskou interakci v reálném čase, tak bych je dost možná dnes napsal v Pythonu (akorát mi přišlo děsně cool, že Python nepotřebují k tomu,aby běžely, ve své době... a taky jsem ho neuměl).

    Jestli se bavíme o tom, jestli má nějaké výhody smolit webové aplikace v PHP - tak nadále tvrdím - ne, nemá, měly by se vyvíjet v kompilovaných jazycích. Očekává se tam stále větší nárazový paralelismus (více uživatelů současně) a stále svižněší odezva v reálném čase (ajaxové klikance a možná i onmouseovery...)
    _BENNY
    _BENNY --- ---
    _BENNY: proste to nejlepsi reseni obvykle neni takove, ktere nas napadne jako prvni a jako prvni se nam libi. toho sis mohl za svuj zivot uz vsimnout ;)
    _BENNY
    _BENNY --- ---
    XCHAOS: delas z toho neco jineho nez jsem rekl. to neni o tom za kazdou cenu odmitat intuici, to je o tom za kazdou cenu nezustat jen u intuice a nepohnout se dal jenom protoze je to tak sebeopajejici ;P

    proti intuici trenovane kritickym rozumem nemam naprosto vubec nic, ale toho jsem se u tebe jeste nedockal ;)
    REDGUY
    REDGUY --- ---
    Hele, XChaosi, muzes zkusit v jedne zprave nejak konzistente shrnout co presne vlastne ted zkoumas, v jake situaci by se to pouzivalo a jake vyhody by to melo oproti soucasnemu stavu?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: To neni otazka filozofie, spis vysledek pozorovani. Kdyz udelas neco podle intuice a pak to zacnes vic zkoumat, zjistis ze jsou lepsi pristupy.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH:
    _BENNY: tomu říkám tedy základ civilizace... odmítat intuici za každou cenu... :-)

    já naopak pokládám za rozumné intuici kultivovat - tím, že se k ní chovám mile a pozorně a občas jí přikrmuji vhodnými metaforami.
    REDGUY
    REDGUY --- ---
    XCHAOS: Tvuj problem. Co se mozna vratit zpatky k tematu? Nejaka sance ze nam vysvetlis jak konkretne predparsovane sql zamicha kartama? (tedy, krome toho ze to bude v "podvratnem free software" 8)) )
    Kliknutím sem můžete změnit nastavení reklam