1. Си / Говнокод #25929

    +1

    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
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    // https://jaycarlson.net/2019/09/06/whats-up-with-these-3-cent-microcontrollers/
    // The C code I used for those original MCU tests looked something like this:
    
    volatile int16_t in[25];
    volatile int16_t out[25];
    const int16_t a0 = 16384;
    const int16_t a1 = -32768;
    const int16_t a2 = 16384;
    const int16_t b1 = -25576;
    const int16_t b2 = 10508;
    int16_t z1, z2;
    int16_t outTemp;
    int16_t inTemp;
    void main()
    {
      while(1) {
        _pa = 2;
        for(i=0;i<25;i++)
        {
          inTemp = in[i];
          outTemp = inTemp * a0 + z1;
          z1 = inTemp * a1 + z2 - b1 * outTemp;
          z2 = inTemp * a2 - b2 * outTemp;
          out[i] = outTemp;
        }
        _pa = 0;
      }
    }
    
    // The Padauk code looks like this:
    
    WORD in[11];
    WORD out[11];
    WORD z1, z2;
    WORD pOut, pIn; // these are pointers, but aren't typed as such
    int i;
    void  FPPA0 (void)
    {
      .ADJUST_IC  SYSCLK=IHRC/2    //  SYSCLK=IHRC/2
      PAC.6 = 1; // make PA6 an output
      while(1) {
        PA.6 = 1;
        pOut = out;
        pIn = in;
        i = 0;
        do {
          *pOut = (*pIn << 14) + z1;
          z1 = -(*pIn << 15) + z2
            + (*pOut << 14)
            + (*pOut << 13)
            + (*pOut << 9)
            + (*pOut << 8)
            + (*pOut << 7)
            + (*pOut << 6)
            + (*pOut << 5)
            + (*pOut << 3);
          z2 = (*pIn << 14)
            - (*pOut << 13)
            - (*pOut << 11)
            - (*pOut << 8)
            - (*pOut << 3)
            - (*pOut << 2);
          i++;
          pOut++;
          pIn++;
        } while(i < 11);
        PA.6 = 0;
      }
    }

    > As for the filter function itself, you’ll see that all the multiplies have been replaced with shift-adds. The Padauk part does not recognize the * operator for multiplication; trying to use it to multiply two variables together results in a syntax error. No, I’m not joking.

    j123123, 11 Октября 2019

    Комментарии (58)
  2. C++ / Говнокод #25927

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    In file included from /usr/include/c++/5.5.0/string:52:0,
                     from /usr/include/c++/5.5.0/bits/locale_classes.h:40,
                     from /usr/include/c++/5.5.0/bits/ios_base.h:41,
                     from /usr/include/c++/5.5.0/ios:42,
                     from /usr/include/c++/5.5.0/ostream:38,
                     from /usr/include/c++/5.5.0/iostream:39,
                     from 1.cpp:1:
    /usr/include/c++/5.5.0/bits/basic_string.h:5275:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
         operator<<(basic_ostream<_CharT, _Traits>& __os,
         ^
    /usr/include/c++/5.5.0/bits/basic_string.h:5275:5: note:   template argument deduction/substitution failed:
    1.cpp:16:18: note:   mismatched types ‘std::basic_ostream<_CharT, _Traits>’

    давайте обсирать С++

    MAPTbIwKA, 11 Октября 2019

    Комментарии (15)
  3. PHP / Говнокод #25925

    +1

    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
    <?php
    
    function split_hash($hash, $sizes) {
        $cnt = count($sizes);                   // количество словарей
        $partSize = floor(128/4/$cnt);          // размер части хэша в тетрадах
        $result = array();
        foreach($sizes as $size) {
            $tmp = substr($hash, 0, $partSize); // разбиваем хэш по тетрадам на равные части
            $hash = substr($hash, $partSize);   
            $result[] = gmp_intval(gmp_mod(gmp_init($tmp, 16), $size)); // возвращаем остаток от деления фрагмента хэша 
                                                                        // на размер словаря
        }
        return $result;
    }
    
    function R($hash, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $indices = split_hash($hash, $sizes);
        $result = '';
        foreach($indices as $dictNumber=>$index) {
            $result .= $dicts[$dictNumber][$index]; // сцепляем слово из частей
        }
        return $result;
    }
    
    function make_chain($start, $length, $dicts) {
        for($i = 0; $i < $length; ++$i) {
            $hash = md5($start);
            echo $hash . ' : ' . $start . PHP_EOL;
            $start = R($hash, $dicts);
        }
    }
    
    make_chain('свинособака', 10, array(
          array('свино',  'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
          array('собака', 'бык',  'лев',   'дельфин', 'бизон')
    ));

    Выводит:

    360629d3cf05cee0240a23e1251c58a0 : свинособака
    1f7ad860b089c0e1141de02ac1e6e3ef : волкобизон
    6f2e4e3025c9dd840f1fa4a78792ef31 : котобизон
    d5812761186013ecca674a2704d5a081 : зубробык
    b4499d259156939bb74cbc1743632c8d : овцебизон
    c28ad194fcc581f538d109f8acb6b1f5 : волкобык
    663a3e06c88185db8fd4f81829e66b85 : котодельфин
    30bb70e972bf073c7aa4ec93c8d5b9a0 : косаткодельфин
    cc31cd8554c1add0128013bba2e47317 : волколев
    d88e78b7340637370628848b1957b4c2 : котособака


    http://ideone.com/rxqpj1

    ropuJIJIa, 10 Октября 2019

    Комментарии (24)
  4. C++ / Говнокод #25924

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // File.cpp
    QString File::size() const
    {
        return QString::number(QFileInfo(m_path).size());
    }
    
    // ... somewhere in the code...
    
    File* message = ...
    ...
    if (message->size() == "0")
            return;

    Commit b1aef142 "Refactoring"
    Р - Рефакторинг

    salamon_style, 10 Октября 2019

    Комментарии (43)
  5. Куча / Говнокод #25922

    +2

    1. 1
    Хочу, чтобы  3.14159265, 1024--, vistefan, kegdan, bormand вернулись в новогоднюю ночь.

    OCETuHCKuu_nemyx, 09 Октября 2019

    Комментарии (16)
  6. JavaScript / Говнокод #25921

    −2

    1. 1
    $scope.ignoreUser = ignoreUser.bind(undefined, undefined);

    Новая нить Бесконечного Стока имени Борманда.

    gost, 08 Октября 2019

    Комментарии (405)
  7. Куча / Говнокод #25920

    −105

    1. 1
    2. 2
    Это ATGC в заповеднике
    https://pbs.twimg.com/media/DofuZTmWsAEWfxw.jpg

    Я считаю, что после всех катастроф, которые обрушились на Россию в двадцатом веке, начиная с первой мировой и заканчивая перестройкой, тот факт, что Россия еще сохранилась и развивается, говорит, что у нашего народа имеется одна лишняя хромосома

    Dpyrou_Pycoqpo6_CEMA, 08 Октября 2019

    Комментарии (4)
  8. Kotlin / Говнокод #25919

    0

    1. 1
    2. 2
    3. 3
    4. 4
    // One workaround is to approximate a namespace by using with a singleton object class.
    object FooActions {
        fun foo() {...}
    }

    Им дали возможность описывать функции на уровне пакета, без надобности совать их в MyOhuennyeUtils, а они жалуются что нету неймспейсов и пихают функци в класы. Долбоебы ¯\_(ツ)_/¯
    https://medium.com/keepsafe-engineering/kotlin-the-good-the-bad-and-the-ugly-bf5f09b87e6f#3a98

    Lorip1971, 08 Октября 2019

    Комментарии (45)
  9. Java / Говнокод #25915

    0

    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
    public class Main {
        public static void main(String[] args) {
            Runtime r = Runtime.getRuntime();
            Process p = null;
            long s = System.currentTimeMillis();
            try {
                p = r.exec("find /");
            } catch(Exception e) {
                System.out.println("Ой!");
            }
            while(p != null ? p.isAlive() : true) {
                //$_$//
            }
            System.out.println(p.exitValue()+(System.currentTimeMillis()-s));
        }
    }

    Это написал победитель уральского програмсофта
    Рашан программерс!

    codershitter, 07 Октября 2019

    Комментарии (9)
  10. PHP / Говнокод #25912

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Сижу я, короче, на работе сейчас, кофе пью из термоса и программирую на «Python».
     Вдруг через минуту начинаю чувствовать непереносимый запах говна.
     Ну, думаю, Россия че, оглядываюсь по сторонам на сидящих рядом программистов. 
    Вроде никаких людей маргинального вида нет. 
    У меня у самого тоже никаких сюрпризов не ощущается.
     Ну думаю, все, глючит меня. 
    Уже практически тянусь за экстренной таблеткой оланзапина в рюкзак, как вдруг с кресла прямо за мной встает коллега и идет к туалету. 
    Запах испражнений усиливается многократно, на лицах сидящих рядом людей возникают недовольные гримасы.
     Смотрю на его компьютер, а там открыт код на «PHP». 
    Он ушел, а запах некоторый остался до сих пор. 
    Я замечательно попил кофе.

    CkpunmoBbIu_nemyx, 07 Октября 2019

    Комментарии (38)