• ú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
    XCHAOS
    XCHAOS --- ---
    FRONEMA: no dobře... ale udělal ten dojem tím, že je programátor? :-)
    FLEGMA
    FLEGMA --- ---
    XCHAOS: Me to prislo jako dobrej vtipek, ale realistictejsi by byla bashova varianta s netcatem, hpingem apod. , takhle jeste s tema komentarema to neni dokonaly, i kdyz neprogramator to nepozna. Vyuziti si dokazu predstavit pro nataceni filmu, misto tech kravin, co tam vzdycky jsou (hlavne nesmej chybet velikansky cerveny pismena ACCES GRANTED po uspesny penetraci), napr. terminator byl rizenej Apple 2 assemblerem (takze byl jablickovej, heh) a v novejsi verzi T-X dokonce disponoval Quick Time Playerem :-), Robocop jel na MS-Dos atd.

    viz
    Visual tour: Stupid tech moments in movies - Computerworld
    http://www.computerworld.com/s/article/9179064/Visual_tour_Stupid_tech_moments_in_movies?taxonomyId=128&pageNumber=1
    http://www.gideontech.com/content/articles/326/1
    FRONEMA
    FRONEMA --- ---
    XCHAOS: ahoj xchaosi :)
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: jako ty popíráš, že jsem jí neviděl? :-)
    XCHAOS
    XCHAOS --- ---
    FLEGMA: no, ještě jsem neviděl slečnu, na kterou by udělal dojem programátor (možná tak jeho peníze, které vydělal :-)

    což je velice pozoruhodné: já totiž vidím "mladistvé programátorství" jako činnost u mužů zdaleka nejvíce ze všeho podobnou zaměstnání mladistvých žen ve všech možných podobách erotického, pornografického a sexuálního průmyslu. (dokonce by šlo najít paralely: nějaký HTML, CSS či JavaScript coder, to je ekvivalent fotomodelky či camgirl, která pouze trochu onanuje přes Interenet, zatímco takový vývojář vojenských aplikací v céčku - to je už profi kurva jak hrom)

    vtipné ovšem je, že muže u prostitutek rozhodně nezajímají jejich peníze - ale pouze jejich "kvalifikace". naopak jsem zatím nepotkal ženu, která by ocenila dovednosti programátora - pouze sem tam nějaká ocení pokud ten vydělá peníze. Je to opravdu kruté a genderově stereotypní - ale zkuste mi to někdo vyvrátit :-)

    (pozor netvrdím, že neexistují schopné programátorky - ale toto je mimo mísu: zásadní mi na tom přijde moment té tržní směny specifické "kvalifikace" mladistvých s většinovou/okolní společností...)

    Jinak odkaz co si postnul, je okrajově zábavný, dovedu si představit použít to v rámci nějaké video projekce na party, nebo tak :-)
    FLEGMA
    FLEGMA --- ---
    Dneska jsem objevil ultracool web aplikaci, ktera udela z lamy haxora (generator C kodu):

    Hacker Typer
    http://hackertyper.com/

    Doporucuju dat F11 na celou plochu, pak pozvat slicnou svlecnu a zacit zbesile busit do klavesnice, mezitim pronaset drsny hlasky jako "potrebuju se jim dostat na kobylku, smejdum", "jeste chvili a penize budou prevedeny na muj ucet" nebo "tady maj diru jako vjezd do piskovny, admin dostane padaka". Pripadne zapnout v internet kavarne a tvarit se nebezpecne :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: tak jsem se špatně vyjádřil no. skutečně si ten příklad navrhl tak, aby výhodnost použití klíče nebyla jednoznačná, hmm.
    XCHAOS
    XCHAOS --- ---
    XCHAOS
    XCHAOS --- ---
    FLEGMA: no, taky to moc nechápu, ale co s tím jako mám dělat? :-)

    REDGUY: no, jak fixnout problém s databázi mi poradil i Google, a jinak v tomhle klubu žádné reálné problémy myslím nemám... spíš je to takové útočiště ve smyslu "o kolik jednodušší by bylo vyvíjet všechno co opravdu potřebuju sám v céčku, než být nucen do kooperace v rámci soukolí soudobého IT businessu"
    REDGUY
    REDGUY --- ---
    FLEGMA: Jo, jasne, presne to je duvod proc jsem mu napr. za posledni dva dny jednak presne rekl, jak fixnout problem s databazi, jednak podrobne ukazal jak mysql meni query strategii v zavislosti na datech. Hazet sipky do jeho fotky a resit jeho problemy, tak se projevuje anti-chaos.

    (Jestli ti pipa detektor sarkasmu, tak funguje skvele. Prosim, zamysli se nad rozdilem mezi obsahem a formou.)
    FLEGMA
    FLEGMA --- ---
    REDGUY: Tebe tipuju na typka, co ma doma terc s fotkou xchaose a hazi do nej sipky :-) Mozna by sis mohl zmenit prezdivku na anti-chaos :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: wtf? Jak to myslis, "prochazejici vsechny kombinace"? Proc si to myslis?
    XCHAOS
    XCHAOS --- ---
    REDGUY: to je docela působivé, akorát nevím, o jakou jde optimalizaci, když evidentně jde o dotaz procházející všechny kombinace - bez ohledu na počet záznamů v jednotlivých tabulkách se mi to jeví tak nějak že složitost je pokaždé stejná :-) nicméně jako důkaz, že MySQL dělá pokaždé něco jiného to pochopitelně dostačuje.

    akorát, že jsem asi jediný moderátor klubu na NYXu, která se nechává od přispěvatelů beztrestně urážet. no ale snad časem i NYXáci dospějí/dozrají... kdo ví.
    REDGUY
    REDGUY --- ---
    ALMAD: Protoze mi to prijde jako naprosto zbytecny. Pokud se vejdu do pameti, tak mi relace mezi datama prijde mnohem jednodussi vytvorit v normalnich datovejch strukturach a rovnou tak s nima pracovat, nez mapovat data na tabulky, pak psat sql prikazy a pak doufat, ze to SQL engine vymysli dobre. Proste vyjadrovaci schopnost high-level jazyku je mnohem vyssi, nez SQL, u kteryho jsem omezenej tim ze musi byt relativne snadno mapovatelny na nejaky v podstate jednorozmerny tabulky.

    Jasne, muzeme se bavit o nejakem datovem/query metajazyce kterej by za me generoval C/C++/Perl. Ale je hloupost stavet ho na SQL.
    ALMAD
    ALMAD --- ---
    REDGUY: Tak jako proc ne.

    Jak vidis na xChaosove prikladu, SQL optimalizatory jsou chytrejsi, nez interprety a kompilatory (sql dotaz trva 0.00, php parsing 0.5, QED), takze proc je nevyuzit na preklad SQL -> pametove struktury?
    REDGUY
    REDGUY --- ---
    XCHAOS: teď teda nezbývá počkat, než mi nějaká SQL databáze ukáže různé DESCRIBE pro různé obsahy tabulek - a jako obvykle, obecni idiot radsi tlacha o vecech kterejm nerozumi, pripade "ceka" az az se mu neco "ukaze", misto toho aby si neco nastudoval nebo vyzkousel. A pritom je to tak snadne.

    Nu co, v Uzbekistanu dnes slavi Den Kdy Kazdy Pravy Uzbek Musi Byt Hodny Na Vesnickeho Idiota, proc se nepripojit k oslavam, i kdyz nejsem uzbek, ze?

    mysql> describe users;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(8)      | YES  | MUL | NULL    |       |
    | name  | varchar(20) | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    
    mysql> describe posts;
    +---------+--------------+------+-----+---------+-------+
    | Field   | Type         | Null | Key | Default | Extra |
    +---------+--------------+------+-----+---------+-------+
    | user_id | int(8)       | YES  |     | NULL    |       |
    | text    | varchar(255) | YES  |     | NULL    |       |
    +---------+--------------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    
    mysql> show index from users;
    +-------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table | Non_unique | Key_name     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +-------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | users |          1 | idx_users_id |            1 | id          | A         |        NULL |     NULL | NULL   | YES  | BTREE      |         |               |
    +-------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
    
    
    # Ruzne vysledky describe pro ruzne obsahy tabulek:
    
    # hodne radku v posts i users
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+------+---------------+--------------+---------+---------------------+------+--------------------------+
    | id | select_type | table | type | possible_keys | key          | key_len | ref                 | rows | Extra                    |
    +----+-------------+-------+------+---------------+--------------+---------+---------------------+------+--------------------------+
    |  1 | SIMPLE      | posts | ALL  | NULL          | NULL         | NULL    | NULL                | 4096 |                          |
    |  1 | SIMPLE      | users | ref  | idx_users_id  | idx_users_id | 5       | rtest.posts.user_id |   11 | Using where; Using index |
    +----+-------------+-------+------+---------------+--------------+---------+---------------------+------+--------------------------+
    2 rows in set (0.00 sec)
    
    
    # Hodne radku v posts, jeden radek v users
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------------+
    | id | select_type | table | type   | possible_keys | key  | key_len | ref  | rows | Extra       |
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------------+
    |  1 | SIMPLE      | users | system | idx_users_id  | NULL | NULL    | NULL |    1 |             |
    |  1 | SIMPLE      | posts | ALL    | NULL          | NULL | NULL    | NULL | 4096 | Using where |
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------------+
    2 rows in set (0.00 sec)
    
    # jeden radek v posts i users;
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------+
    | id | select_type | table | type   | possible_keys | key  | key_len | ref  | rows | Extra |
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------+
    |  1 | SIMPLE      | users | system | idx_users_id  | NULL | NULL    | NULL |    1 |       |
    |  1 | SIMPLE      | posts | system | NULL          | NULL | NULL    | NULL |    1 |       |
    +----+-------------+-------+--------+---------------+------+---------+------+------+-------+
    2 rows in set (0.00 sec)
    
    
    # posts i users prazdne
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
    | id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra                                               |
    +----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
    |  1 | SIMPLE      | NULL  | NULL | NULL          | NULL | NULL    | NULL | NULL | Impossible WHERE noticed after reading const tables |
    +----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
    1 row in set (0.00 sec)
    
    
    # hodne radku v posts, nekolik v users
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+---------------------------------------------+
    | id | select_type | table | type  | possible_keys | key          | key_len | ref  | rows  | Extra                                       |
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+---------------------------------------------+
    |  1 | SIMPLE      | posts | ALL   | NULL          | NULL         | NULL    | NULL | 14496 |                                             |
    |  1 | SIMPLE      | users | index | idx_users_id  | idx_users_id | 5       | NULL |     8 | Using where; Using index; Using join buffer |
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+---------------------------------------------+
    2 rows in set (0.00 sec)
    
    
    # hodne radku v posts, dva v users
    
    mysql> describe select users.id, posts.text from users, posts where posts.user_id = users.id;
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+--------------------------------+
    | id | select_type | table | type  | possible_keys | key          | key_len | ref  | rows  | Extra                          |
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+--------------------------------+
    |  1 | SIMPLE      | users | index | idx_users_id  | idx_users_id | 5       | NULL |     2 | Using index                    |
    |  1 | SIMPLE      | posts | ALL   | NULL          | NULL         | NULL    | NULL | 14496 | Using where; Using join buffer |
    +----+-------------+-------+-------+---------------+--------------+---------+------+-------+--------------------------------+
    2 rows in set (0.00 sec)
    
    ISTEVE
    ISTEVE --- ---
    XCHAOS: "... errr, protože v PHP omáčka okolo trvá 0.5 sekundy?" [citation needed]
    REDGUY
    REDGUY --- ---
    XCHAOS: já se ale nechtěl omezovat na datové struktury SQL - šlo mi vysloveně o to, že bych napsal jednořádkový SQL dotaz, který by mi pre-compiler rozexpandoval třeba na 10 řádků volání knihovních C funkcí - coze? To myslis vazne? Takze ty misto toho abys proste rucne napsal kod kterej bude pouzivat struktury, objekty, hashe, linked listy, stromy a janevim co jeste bude psat SQL ktery o nicem z toho nema ani paru a budes doufat ze optimizer to nejak zazracne vymysli? HAHAHAHAHAHAHA. Cim dal tim lepsi.
    REDGUY
    REDGUY --- ---
    XCHAOS: což jsem u svých projektů elegantně chtěl řešit použitím makro-wrapperů, - HAHAHAHAHAHA. No nic.

    norma POSIX se právě snažila striktně definovat i kompatibilitu hlavičkových souborů k běžným knihovním funkcím jo, a "bezne knihovni funkce" jsou plne a naprosto dostacujici pro real-world projekty.

    Jen tak pro legraci, jak dobre by dneska fungoval tvuj slavnej prometheus kdybys ho napsal v roce 1994? (a nez napises nejakou pitomost, zamysli se nad tim, jak vypadaly linuxove firewally v roce 1994).

    ALMAD
    ALMAD --- ---
    XCHAOS: jasně, že bych mohl trochu optimalizovat i v PHP... ale člověk tam instinktivně píše co nejsrozumitelněji... a navíc ani není jasné, která feature jazyka tam zdržuje kolik a tak...

    kthx, neat: :D anyways:

    Ad 1) No, v SQL taky clovek pise normalnizovane a pekne a srozumitelne a instinktivne. A pak potka vykonovou realitu. Nejak nevidim duvod, proc by to v php melo bejt stejny.

    Ad 2) Neni jasne? Protoze...errr...protoze to neznas a nemeris?

    A vytvarim 3): Z bodu 1) mi teda vyplyva, ze nejvetsi ficura prepisu do C je ta, ze v C clovek instinktivne nepise co nejsrozumitelneji, ale co nejvykonneji.

    Kliknutím sem můžete změnit nastavení reklam