1. Комментарий к говнокоду #27541

    • > Ну тут достаточно запретить грузить файлы, которые не помечены как исполняемые.

      Надо еще убедиться в том, что нет таких готовых исполняемых файлов, которые можно было бы перезаписать.

      > дальше можно на уровне файлухи вырубить "x", а на файлухе с исполняемыми файлами отобрать у юзера "w"

      Их может допустим перезаписать какой-нибудь кривой говноскрипт, у которого будут такие права
      Ответить
    Показать код ▼

    Си / Говнокод #27541

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    /* https://fstarlang.github.io/lowstar/html/Introduction.html#the-essence-of-low
     
    Consider the following very simple program:
     
    module Intro
     
    module P = LowStar.Printf
    module C = LowStar.Comment
    module B = LowStar.Buffer
     
    open FStar.HyperStack.ST
    open LowStar.BufferOps
     
    let main (): St Int32.t =
      push_frame ();
      let b: B.buffer UInt32.t = B.alloca 0ul 8ul in
      b.(0ul) <- 255ul;
      C.comment "Calls to printf are desugared via meta-programming";
      let s = "from Low*!" in
      P.(printf "Hello from %s\nbuffer contents: %xul\n"
        s 8ul b done);
      pop_frame ();
      0l
     
    ....
     
    Once compiled by the KreMLin compiler, we obtain the following C code:
    */
     
    int32_t main()
    {
      uint32_t b[8U] = { 0U };
      b[0U] = (uint32_t)255U;
      /* Calls to printf are desugared via meta-programming */
      Prims_string s = "from Low*!";
      LowStar_Printf_print_string("Hello from ");
      LowStar_Printf_print_string(s);
      LowStar_Printf_print_string("\nbuffer contents: ");
      LowStar_Printf_print_lmbuffer_u32((uint32_t)8U, (uint32_t *)b);
      LowStar_Printf_print_string("\n");
      return (int32_t)0;
    }

    Какая-то компилируемая в сишку хренотень с завтипами, разрабатываемая в Microsoft Research

    Запостил: j123123, 29 Июля 2021

    Все комментарии (58)
  2. Комментарий к говнокоду #27534

    • Хоолны жор - Амтат хуйцаа хийх арга
      Ответить
    Показать код ▼

    Куча / Говнокод #27534

    1. 1
    IT Оффтоп #104

    #74: https://govnokod.ru/27160 https://govnokod.xyz/_27160
    #75: https://govnokod.ru/27166 https://govnokod.xyz/_27166
    #76: https://govnokod.ru/27168 https://govnokod.xyz/_27168
    #77: https://govnokod.ru/27186 https://govnokod.xyz/_27186
    #78: https://govnokod.ru/27219 https://govnokod.xyz/_27219
    #79: https://govnokod.ru/27254 https://govnokod.xyz/_27254
    #80: https://govnokod.ru/27270 https://govnokod.xyz/_27270
    #81: https://govnokod.ru/27280 https://govnokod.xyz/_27280
    #82: https://govnokod.ru/27284 https://govnokod.xyz/_27284
    #83: https://govnokod.ru/27296 https://govnokod.xyz/_27296
    #84: https://govnokod.ru/27336 https://govnokod.xyz/_27336
    #85: https://govnokod.ru/27381 https://govnokod.xyz/_27381
    #86: https://govnokod.ru/27405 https://govnokod.xyz/_27405
    #87: https://govnokod.ru/27429 https://govnokod.xyz/_27429
    #88: https://govnokod.ru/27432 https://govnokod.xyz/_27432
    #89: https://govnokod.ru/27435 https://govnokod.xyz/_27435
    #90: https://govnokod.ru/27439 https://govnokod.xyz/_27439
    #91: https://govnokod.ru/27449 https://govnokod.xyz/_27449
    #92: https://govnokod.ru/27460 https://govnokod.xyz/_27460
    #93: https://govnokod.ru/27463 https://govnokod.xyz/_27463
    #94: https://govnokod.ru/27466 https://govnokod.xyz/_27466
    #95: https://govnokod.ru/27473 https://govnokod.xyz/_27473
    #96: https://govnokod.ru/27478 https://govnokod.xyz/_27478
    #97: https://govnokod.ru/27484 https://govnokod.xyz/_27484
    #98: https://govnokod.ru/27495 https://govnokod.xyz/_27495
    #99: https://govnokod.ru/27504 https://govnokod.xyz/_27504
    #100: https://govnokod.ru/27508 https://govnokod.xyz/_27508
    #101: https://govnokod.ru/27511 https://govnokod.xyz/_27511
    #102: https://govnokod.ru/27518 https://govnokod.xyz/_27518
    #103: https://govnokod.ru/27526 https://govnokod.xyz/_27526

    Запостил: nepeKamHblu_nemyx, 23 Июля 2021

    Все комментарии (410)
  3. Комментарий к говнокоду #27544

    • MAKAKA, это для тебя

      https://www.youtube.com/watch?v=NlXOY6J4nrI
      Ответить
    Показать код ▼

    Куча / Говнокод #27544

    1. 1
    IT Оффтоп #105

    #75: https://govnokod.ru/27166 https://govnokod.xyz/_27166
    #76: https://govnokod.ru/27168 https://govnokod.xyz/_27168
    #77: https://govnokod.ru/27186 https://govnokod.xyz/_27186
    #78: https://govnokod.ru/27219 https://govnokod.xyz/_27219
    #79: https://govnokod.ru/27254 https://govnokod.xyz/_27254
    #80: https://govnokod.ru/27270 https://govnokod.xyz/_27270
    #81: https://govnokod.ru/27280 https://govnokod.xyz/_27280
    #82: https://govnokod.ru/27284 https://govnokod.xyz/_27284
    #83: https://govnokod.ru/27296 https://govnokod.xyz/_27296
    #84: https://govnokod.ru/27336 https://govnokod.xyz/_27336
    #85: https://govnokod.ru/27381 https://govnokod.xyz/_27381
    #86: https://govnokod.ru/27405 https://govnokod.xyz/_27405
    #87: https://govnokod.ru/27429 https://govnokod.xyz/_27429
    #88: https://govnokod.ru/27432 https://govnokod.xyz/_27432
    #89: https://govnokod.ru/27435 https://govnokod.xyz/_27435
    #90: https://govnokod.ru/27439 https://govnokod.xyz/_27439
    #91: https://govnokod.ru/27449 https://govnokod.xyz/_27449
    #92: https://govnokod.ru/27460 https://govnokod.xyz/_27460
    #93: https://govnokod.ru/27463 https://govnokod.xyz/_27463
    #94: https://govnokod.ru/27466 https://govnokod.xyz/_27466
    #95: https://govnokod.ru/27473 https://govnokod.xyz/_27473
    #96: https://govnokod.ru/27478 https://govnokod.xyz/_27478
    #97: https://govnokod.ru/27484 https://govnokod.xyz/_27484
    #98: https://govnokod.ru/27495 https://govnokod.xyz/_27495
    #99: https://govnokod.ru/27504 https://govnokod.xyz/_27504
    #100: https://govnokod.ru/27508 https://govnokod.xyz/_27508
    #101: https://govnokod.ru/27511 https://govnokod.xyz/_27511
    #102: https://govnokod.ru/27518 https://govnokod.xyz/_27518
    #103: https://govnokod.ru/27526 https://govnokod.xyz/_27526
    #104: https://govnokod.ru/27534 https://govnokod.xyz/_27534

    Запостил: nepeKamHblu_nemyx, 01 Августа 2021

    Все комментарии (2)
  4. Комментарий к говнокоду #27543

    Показать код ▼

    JavaScript / Говнокод #27543

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    namespace Ifaces {
        interface IFoo {
            foo(): number;
            bar(x: number): string;
            twoArg(x: number, y: number): number;
            baz: string;
        }
     
        class A implements IFoo {
            constructor() {
                this.baz = "Q" + "A";
            }
            foo(): number {
                return 12;
            }
            bar(v: number) {
                return v.toString();
            }
            twoArg(x: number, y: number) {
                return x;
            }
            baz: string;
        }
        class B extends A {
            foo(): number {
                return 13;
            }
        }
     
        function foo(f: IFoo) {
            return "" + f.foo() + f.baz + f.bar(42);
        }
     
        export function run() {
            print("Ifaces.run");
            let a = new A();
            assert("" + foo(a) + "X" == "12.QA42.X");
            assert((a as IFoo).twoArg(1, 2) == 1, "t");
            a = new B();
            assert("" + foo(a) + "X" == "13.QA42.X", "b");
            let q = a as IFoo;
            q.baz = "Z";
            assert("" + foo(q) + "X" == "13.Z42.X", "x");
            print("Ifaces.runDONE");
        }
    }
     
    function main() {
        Ifaces.run();
        print("done.");
    }

    хотел оставить вас в покое. но не смог. Ловите - fields в интерфейсах

    Запостил: ASD_77, 01 Августа 2021

    Все комментарии (4)
  5. Комментарий к говнокоду #27523

    • Есть же
      Javascript Switcher
      Add a button in the url bar to block or enable javascript per-site.

      Cloudflare забанил Daily Stormer
      Ответить
    Показать код ▼

    Куча / Говнокод #27523

    1. 1
    Тестовый Оффтоп #3

    #1: https://govnokod.ru/26373 https://govnokod.xyz/_26373
    #1: https://govnokod.ru/26611 https://govnokod.xyz/_26611
    #1: https://govnokod.ru/26824 https://govnokod.xyz/_26824
    #1: https://govnokod.ru/26850 https://govnokod.xyz/_26850
    #2: https://govnokod.ru/27102 https://govnokod.xyz/_27102

    Запостил: bagrinho, 18 Июля 2021

    Все комментарии (575)
  6. Комментарий к говнокоду #12256

    Показать код ▼

    PHP / Говнокод #12256

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    function preDispatch() {
     
     
     
     
    		// Validate and redirect
            try {
                $this->_DB = Zend_Db_Table::getDefaultAdapter();
                $time = $this->_DB->query('SELECT time FROM `CapturesList` WHERE InnerLink = \'' . $_SERVER['REQUEST_URI'] . '\' LIMIT 0,1;')->fetchAll();
     
     
    		@$this->view->time = $time[0]['time'];
     
     
                if ($time[0]['time'] != NULL) {
                    $times = split(', ', $time[0]['time']);
                    if (strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00") < (int) (mktime())) {
                        if (strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00") > 1347032555) {
                            $count = $this->_DB->query('SELECT *, COUNT(time) AS counts FROM `CapturesList` WHERE time IS NOT NULL;')->fetchAll();
                            $count = $count[0]['counts'];
                            @$newdate = strftime("%G, %m, %d, %H", strtotime(($times[1]) . '/' . ($times[2]) . '/' . $times[0] . ' ' . $times[3] . ":00 +" . ((int)($count / 2) + 1) . " weeks"));
                            @$this->_DB->query('UPDATE `CapturesList` SET `time` = \'' . ($newdate) . '\' WHERE InnerLink = \'' . $_SERVER['REQUEST_URI'] . '\';');
                            @$this->view->time = $newdate;
                        }
                        else{@$this->view->time = $time[0]['time'];}
                    } else {
                        @$this->view->time = $time[0]['time'];
                    }
                } else {
                    @$this->view->time = "NULL";
                }
            } catch (Exception $exc) {
                echo $exc->getTraceAsString();
                @$this->view->time = "NULL";
            }
     
     
     
            header('Refer: ' . $this->view->linktofunnel);
            if (session_id() == '')
                session_start();
            if ($this->_getParam('action') != 'save') {
                $_SESSION["domain"] = $this->view->domain;
                $_SESSION["owner"] = $this->OwnerData;
            }
        }

    Более говнокодного я давно не писал. Кажется я схожу с ума

    Запостил: Stud, 06 Декабря 2012

    Все комментарии (15)
  7. Комментарий к говнокоду #27277

    • Да.
      Обычные объекты в Python содержат внутри себя словарь '__dict__', который хранит все свойства инстанса. Это позволяет, няпример, добавлять свойства динямически:
      class X:
          def __init__(self, x):
              self.a = x
      
      
      x = X(16)
      print(x.a)  # 16
      
      
      print(x.b)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      AttributeError: 'X' object has no attribute 'b'
      
      
      x.b = 42
      print(x.b)  # 42

      За это, как ты понимаешь, приходится платить медленным доступом (каждый доступ к атрибуту — это поиск в словаре), и приличным увеличением потребления памяти: словарь, приклеивающийся к каждому инстансу, это тяжело.

      __slots__ же ограничивает возможные атрибуты инстанса, сильно экономя память и прилично (по няпроверенным данным — ня 15-30%) ускоряя доступ к свойствам. За это приходится платить нявозможностью добавлять свойства в динямике:
      >>> class Y:
      ...     __slots__ = ('a', 'b')
      ...
      >>> y = Y()
      >>> y.a = 1
      >>> y.b = 2
      >>> y.c = 3
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      AttributeError: 'Y' object has no attribute 'c'

      Также, что очевидня, свойства '__dict__' у слот-машиныобъектов ня создаётся.
      Ответить
    Показать код ▼

    Python / Говнокод #27277

    1. 1
    2. 2
    3. 3
    4. 4
    XRU = "XRU"
    PITUH = "PITUH",
    KUROCHKA = "KUROCHKA"
    PETUH = PITUH.replace('I', 'E')

    Traceback (most recent call last):
    File "./prog.py", line 4, in <module>
    AttributeError: 'tuple' object has no attribute 'replace'

    Запостил: 3_dar, 02 Марта 2021

    Все комментарии (97)
  8. Комментарий к говнокоду #27521

    • Есть Fai, он давно сюда не заходил, хотя раньше был активен:
      http://govnokod.ru/user/4072

      Да, я тоже «Fike» с ним путал.
      Ответить
    Показать код ▼

    Куча / Говнокод #27521

    1. 1
    Пиздец-оффтоп #25

    #1: https://govnokod.ru/26503 https://govnokod.xyz/_26503
    #2: https://govnokod.ru/26541 https://govnokod.xyz/_26541
    #3: https://govnokod.ru/26583 https://govnokod.xyz/_26583
    #4: https://govnokod.ru/26689 https://govnokod.xyz/_26689
    #5: https://govnokod.ru/26784 https://govnokod.xyz/_26784
    #5: https://govnokod.ru/26839 https://govnokod.xyz/_26839
    #6: https://govnokod.ru/26986 https://govnokod.xyz/_26986
    #7: https://govnokod.ru/27007 https://govnokod.xyz/_27007
    #8: https://govnokod.ru/27023 https://govnokod.xyz/_27023
    #9: https://govnokod.ru/27098 https://govnokod.xyz/_27098
    #10: https://govnokod.ru/27125 https://govnokod.xyz/_27125
    #11: https://govnokod.ru/27129 https://govnokod.xyz/_27129
    #12: https://govnokod.ru/27184 https://govnokod.xyz/_27184
    #13: https://govnokod.ru/27286 https://govnokod.xyz/_27286
    #14: https://govnokod.ru/27298 https://govnokod.xyz/_27298
    #15: https://govnokod.ru/27322 https://govnokod.xyz/_27322
    #16: https://govnokod.ru/27328 https://govnokod.xyz/_27328
    #17: https://govnokod.ru/27346 https://govnokod.xyz/_27346
    #18: https://govnokod.ru/27374 https://govnokod.xyz/_27374
    #19: https://govnokod.ru/27468 https://govnokod.xyz/_27468
    #20: https://govnokod.ru/27469 https://govnokod.xyz/_27469
    #21: https://govnokod.ru/27479 https://govnokod.xyz/_27479
    #22: https://govnokod.ru/27485 https://govnokod.xyz/_27485
    #23: https://govnokod.ru/27493 https://govnokod.xyz/_27493
    #24: https://govnokod.ru/27501 https://govnokod.xyz/_27501

    Запостил: nepeKamHblu_nemyx, 16 Июля 2021

    Все комментарии (376)
  9. Комментарий к говнокоду #27540

    Показать код ▼

    JavaScript / Говнокод #27540

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    namespace InstanceOf {
     
        class Foo {
            x: number
            y: string
            bar() {
                return this.x
            }
        }
     
        class Bar extends Foo { }
        class Baz extends Foo { }
        class Bar2 extends Bar { }
        class Bar3 extends Bar { }
     
        export function run() {
            print("InstanceOf")
     
            assert(new Bar2() instanceof Foo, "if")
            assert(new Bar2() instanceof Bar, "ib")
            assert(new Bar2() instanceof Bar2, "ib2")
            assert(new Bar3() instanceof Bar, "ib")
            assert(!(new Bar2() instanceof Baz), "!ib")
            assert(!(new Foo() instanceof Baz), "!ib2")
            assert(!(new Foo() instanceof Bar), "!ib2")
     
            (new Foo()).bar();
            (new Bar3()).bar();
        }
    }
     
    function main()
    {
      InstanceOf.run()
      print("done");
    }

    Возрадуйтесь братья и сестры. я вам принес зачатки RTTI :) и узрите этот дампик во очию.

    Запостил: ASD_77, 29 Июля 2021

    Все комментарии (78)
  10. Комментарий к говнокоду #26832

    Показать код ▼

    PHP / Говнокод #26832

    1. 1
    2. 2
    3. 3
    Именно поэтому я за «PHP» #3
    #1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
    #2: https://govnokod.ru/26827 https://govnokod.xyz/_26827

    Запостил: gostinho, 31 Июля 2020

    Все комментарии (418)
  11. Комментарий к говнокоду #23492

    Показать код ▼

    PHP / Говнокод #23492

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($count == 1 or $count == 21 or $count == 31 or $count == 41 or $count == 51 or $count == 61 or $count == 71 or $count == 81) ( $str = ' товар');
            if ($count == 2 or $count == 3 or $count == 4 or $count == 22 or $count == 23 or $count == 24 or $count == 32 or $count == 33 or $count == 34 or $count == 42 or $count == 43 or $count == 44 or $count == 52 or $count == 53 or $count == 54 or $count == 62 or $count == 63 or $count == 64) ( $str = ' товара');
            if ($count == 5 or $count == 6 or $count == 7 or $count == 8 or $count == 9 or $count == 10 or $count == 11 or $count == 12 or $count == 13 or $count == 14 or $count == 15 or $count == 16 or $count == 17 or $count == 18 or $count == 19 or $count == 20 or $count == 25 or $count == 26 or $count == 27 or $count == 28 or $count == 29 or $count == 30 or $count == 35 or $count == 36 or $count == 37 or $count == 38 or $count == 39 or $count == 40 or $count == 45 or $count == 46 or $count == 47 or $count == 48 or $count == 49 or $count == 50 or $count == 55 or $count == 56 or $count == 57 or $count == 58 or $count == 59 or $count == 60 or $count == 65) ( $str = ' товаров');
     
            if ($count > 81){
                $str=" тов";
            }

    Бронебойный pluralize

    Запостил: arth, 05 Ноября 2017

    Все комментарии (84)
  12. Комментарий к говнокоду #19383

    Показать код ▼

    Си / Говнокод #19383

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    #define OP(a,b,op) ((a)op(b))
     
    #define MKFUNC_a_op_b(type, opname, op) void type##_##opname##_##type(const void *a, const void *b, void *out) \
    {\
      type tmp =  OP(*(type*)a,*(type*)b,op);\
      memcpy(out,(void*)(&tmp),sizeof(type));\
    }
     
    #define MKALLF_int(type) \
    MKFUNC_a_op_b(type,plus,+) MKFUNC_a_op_b(type,minus,-) \
    MKFUNC_a_op_b(type,div,/) MKFUNC_a_op_b(type,mod,%) \
    MKFUNC_a_op_b(type,and,&) MKFUNC_a_op_b(type,or,|) \
    MKFUNC_a_op_b(type,xor,^)
     
    MKALLF_int(int8_t)
    MKALLF_int(uint8_t)
    MKALLF_int(int16_t)
    MKALLF_int(uint16_t)
    MKALLF_int(int32_t)
    MKALLF_int(uint32_t)
    MKALLF_int(int64_t)
    MKALLF_int(uint64_t)
     
    #define MKFUNC_conv_t(type1, type2) void type1##_to_##type2(const void *a, void *out) \
    {\
      type2 tmp = (type2)(*(type1*)a);\
      memcpy(out,(void*)(&tmp),sizeof(type2));\
    }
     
    #define MKFUNC_con_M(type) \
    MKFUNC_conv_t(type, int8_t) \
    MKFUNC_conv_t(type, uint8_t) \
    MKFUNC_conv_t(type, int16_t) \
    MKFUNC_conv_t(type, uint16_t) \
    MKFUNC_conv_t(type, int32_t) \
    MKFUNC_conv_t(type, uint32_t) \
    MKFUNC_conv_t(type, int64_t) \
    MKFUNC_conv_t(type, uint64_t)
     
    MKFUNC_con_M(int8_t)
    MKFUNC_con_M(uint8_t)
    MKFUNC_con_M(int16_t)
    MKFUNC_con_M(uint16_t)
    MKFUNC_con_M(int32_t)
    MKFUNC_con_M(uint32_t)
    MKFUNC_con_M(int64_t)
    MKFUNC_con_M(uint64_t)

    Это я типа такую заготовку для стековой ВМ делаю, определяю операции(инструкции) для опкодов кагбэ. Потом у меня там будет массив указателей на функции, ну и я их буду вызывать, пропихивая аргументы. Но похоже что сишный препроцессор это говно полное, и надо кодогеренератор для набора такой ерунды делать.

    Запостил: j123123, 02 Февраля 2016

    Все комментарии (20)
  13. Комментарий к говнокоду #26440

    Показать код ▼

    Куча / Говнокод #26440

    1. 1
    IT Оффтоп #32

    #1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
    #2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
    #3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
    #4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
    #5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
    #6: (оригинал удалён) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: (оригинал удалён) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
    #11: (оригинал удалён) https://govnokod.xyz/_25436
    #12: (оригинал удалён) https://govnokod.xyz/_25471
    #13: (оригинал удалён) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423

    Запостил: gost, 17 Февраля 2020

    Все комментарии (498)
  14. Комментарий к говнокоду #26471

    Показать код ▼

    Куча / Говнокод #26471

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    > At its core, Swarm implements a distributed content-addressed chunk store. 
    > Chunks are arbitrary data blobs with a fixed maximum size (currently 4KB). 
    > Content addressing means that the address of any chunk is deterministically derived from its content. 
    > The addressing scheme falls back on a hash function which takes a chunk as input and returns a 32-byte long key as output. 
    > A hash function is irreversible, collision free and uniformly distributed (indeed this is what makes bitcoin, and in general proof-of-work, work).
     
    исключая лишнее
     
    > derived from content
    > content = 4KB
    > 32-byte output
    > collision free!

    И еще немного несвежых новостей из мира, где «блокчейн» стал устойчивым синонимом слова «распределенный»

    https://blog.ethereum.org/2016/12/15/swarm-alpha-public-pilot-basics-swarm/

    Запостил: Fike, 07 Марта 2020

    Все комментарии (9)
  15. Комментарий к говнокоду #26541

    Показать код ▼

    Куча / Говнокод #26541

    1. 1
    Пиздец-оффтоп #2

    #1 https://govnokod.ru/26503 https://govnokod.xyz/_26503

    Запостил: gost, 29 Марта 2020

    Все комментарии (484)
  16. Комментарий к говнокоду #26621

    Показать код ▼

    C++ / Говнокод #26621

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    struct Base { virtual const char *getName() = 0; virtual ~Base() = default; };
    struct SE_0 : Base { virtual const char *getName() override { return "SE_0"; } };
    struct SE_1 : Base { virtual const char *getName() override { return "SE_1"; } };
    struct SE_2 : Base { virtual const char *getName() override { return "SE_2"; } };
     
    enum TypesEnum {
        E__BEGIN = 0,
     
        E_0 = E__BEGIN,
        E_1,
        E_2,
     
        E__END
    };
     
    template<TypesEnum>
    struct Registry {};
     
    template<>
    struct Registry<E_0> {
        static constexpr const char *name = "The first type (SE_0)";
        using type = SE_0;
    };
     
    template<>
    struct Registry<E_1> {
        static constexpr const char *name = "A second type (SE_1)";
        using type = SE_1;
    };
     
    template<>
    struct Registry<E_2> {
        static constexpr const char *name = "And the last type (SE_2)";
        using type = SE_2;
    };
     
    template<TypesEnum CurrentType>
    std::unique_ptr<Base> createTypeImpl(const char *name)
    {
        if constexpr (CurrentType < E__END) {
            if (strstr(Registry<CurrentType>::name, name)) {
                return std::make_unique<typename Registry<CurrentType>::type>();
            }
            return createTypeImpl<static_cast<TypesEnum>(CurrentType + 1)>(name);
        } else {
            (void)name;  // Silence 'unreferenced formal parameter' warning
            return nullptr;
        }
    }
     
    std::unique_ptr<Base> createType(const char *name)
    {
        return createTypeImpl<E__BEGIN>(name);
    }
     
    int main()
    {
        std::cout << "first type: " << createType("first type")->getName() << std::endl;
        std::cout << "second type: " << createType("second type")->getName() << std::endl;
        std::cout << "last type: " << createType("last type")->getName() << std::endl;
     
        return EXIT_SUCCESS;
    }

    Упоролся.
    https://ideone.com/c11fz4

    Запостил: gost, 29 Апреля 2020

    Все комментарии (107)
  17. Комментарий к говнокоду #26801

    Показать код ▼

    Си / Говнокод #26801

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    /* meta */
    typedef struct r_anal_meta_item_t {
    	ut64 from;
    	ut64 to;
    	ut64 size;
    	int type;
    	int subtype;
    	char *str;
    	int space;
    } RAnalMetaItem;
     
    typedef struct {
    	struct r_anal_t *anal;
    	int type;
    	int rad;
    	SdbForeachCallback cb;
    	void *user;
    	int count;
    	struct r_anal_type_function_t *fcn;
    } RAnalMetaUserItem;
     
    typedef struct r_anal_range_t {
    	ut64 from;
    	ut64 to;
    	int bits;
    } RAnalRange;
     
    #define R_ANAL_UNMASK_TYPE(x) (x&R_ANAL_VAR_TYPE_SIZE_MASK)
    #define R_ANAL_UNMASK_SIGN(x) (((x& R_ANAL_VAR_TYPE_SIGN_MASK)>> R_ANAL_VAR_TYPE_SIGN_SHIFT)==R_ANAL_VAR_TYPE_UNSIGNED)?0:1
     
    #define R_ANAL_GET_OFFSET(x,y,z) \
    	(x && x->binb.bin && x->binb.get_offset)? \
    		x->binb.get_offset (x->binb.bin, y, z): -1
    enum {
    	R_ANAL_DATA_TYPE_NULL = 0,
    	R_ANAL_DATA_TYPE_UNKNOWN = 1,
    	R_ANAL_DATA_TYPE_STRING = 2,
    	R_ANAL_DATA_TYPE_WIDE_STRING = 3,
    	R_ANAL_DATA_TYPE_POINTER = 4,
    	R_ANAL_DATA_TYPE_NUMBER = 5,
    	R_ANAL_DATA_TYPE_INVALID = 6,
    	R_ANAL_DATA_TYPE_HEADER = 7,
    	R_ANAL_DATA_TYPE_SEQUENCE = 8,
    	R_ANAL_DATA_TYPE_PATTERN = 9,
    };
     
    // used from core/anal.c
    #define R_ANAL_ADDR_TYPE_EXEC      1
    #define R_ANAL_ADDR_TYPE_READ      1 << 1
    #define R_ANAL_ADDR_TYPE_WRITE     1 << 2
    #define R_ANAL_ADDR_TYPE_FLAG      1 << 3
    #define R_ANAL_ADDR_TYPE_FUNC      1 << 4
    #define R_ANAL_ADDR_TYPE_HEAP      1 << 5
    #define R_ANAL_ADDR_TYPE_STACK     1 << 6
    #define R_ANAL_ADDR_TYPE_REG       1 << 7
    #define R_ANAL_ADDR_TYPE_PROGRAM   1 << 8
    #define R_ANAL_ADDR_TYPE_LIBRARY   1 << 9
    #define R_ANAL_ADDR_TYPE_ASCII     1 << 10
    #define R_ANAL_ADDR_TYPE_SEQUENCE  1 << 11
     
    #define R_ANAL_ARCHINFO_MIN_OP_SIZE 0
    #define R_ANAL_ARCHINFO_MAX_OP_SIZE 1
    #define R_ANAL_ARCHINFO_ALIGN 2
    #define R_ANAL_ARCHINFO_DATA_ALIGN 4

    Как нужно называть идентификаторы.

    Источник:
    https://github.com/radareorg/radare2/

    Запостил: TEH3OPHblu_nemyx, 11 Июля 2020

    Все комментарии (81)
  18. Комментарий к говнокоду #27027

    Показать код ▼

    Куча / Говнокод #27027

    1. 1
    IT Оффтоп #65

    #37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
    #38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
    #39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
    #40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
    #41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
    #42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
    #43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
    #44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
    #45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
    #46: (vanished) https://govnokod.xyz/_26646
    #46: (vanished) https://govnokod.xyz/_26654
    #47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
    #48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
    #49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
    #49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
    #50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
    #51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
    #52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
    #53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
    #54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
    #55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
    #56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
    #57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
    #58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
    #59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
    #60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
    #61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
    #62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
    #63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
    #64: https://govnokod.ru/27020 https://govnokod.xyz/_27020

    Запостил: nepeKamHblu_nemyx, 13 Октября 2020

    Все комментарии (687)
  19. Комментарий к говнокоду #27049

    Показать код ▼

    Куча / Говнокод #27049

    1. 1
    IT Оффтоп #67

    #39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
    #40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
    #41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
    #42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
    #43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
    #44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
    #45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
    #46: (vanished) https://govnokod.xyz/_26646
    #46: (vanished) https://govnokod.xyz/_26654
    #47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
    #48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
    #49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
    #49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
    #50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
    #51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
    #52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
    #53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
    #54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
    #55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
    #56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
    #57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
    #58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
    #59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
    #60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
    #61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
    #62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
    #63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
    #64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
    #65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
    #66: https://govnokod.ru/27040 https://govnokod.xyz/_27040

    Запостил: nepeKamHblu_nemyx, 23 Октября 2020

    Все комментарии (425)
  20. Комментарий к говнокоду #27085

    Показать код ▼

    Куча / Говнокод #27085

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Возможно, вы разделите мою точку зрения насчёт того документа. Судите сами:
     
    1. Это всё ещё Vue
    2. Он закрывает основные потребности разработчиков
    3. Разумеется, он избавляет от бойлерплейта
    4. Документация — огонь
    5. Большое, пассионарное сообщество

    Спирт:

    1. Его пьют
    2. Вызывает эйфорию
    3. Может использоваться в качестве жидкости

    https://m.habr.com/ru/company/vdsina/blog/525382/

    Запостил: Fike, 04 Ноября 2020

    Все комментарии (299)