1. Куча / Говнокод #23660

    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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    Alg Root;
    arg x, y;
    	Root = getRoot(x, y, 1);
    end;
    
    Sub getRoot;
    arg x, y, r;
    	if Power(r, x) < y then
    		getRoot = getRoot(x, y, r + 1);
    	else
    		if Power(r, x) = y then
    			getRoot = r;
    		else
    			getRoot = r - 1;
    		end;
    	end;
    end;
    
    Sub Power;
    arg x, y;
    	if 0 < y then
    		Power = x * Power(x, y - 1);
    	else
    		Power = 1;
    	end;
    end;

    Написал напитоне простой интерпретатор функционального языка из учебника по теоретическим основам информатики, давайте обсудим
    https://hastebin.com/ocadegapuv.py

    сам учебник, в котором описывается язык и семантика (глава про функциональные программы)
    http://www.ict.edu.ru/ft/003627/lect1.pdf

    В оп-коде пример программы, которую ему можно скормить
    (вычисляет целую часть корня степени x из числа y).

    Подскажите, для начала, как распознать и развернуть в цикл хвостовую рекурсию.
    И если кто напитоне работает, этот код вообще котируется, или есть явное палево?

    vistefan, 18 Января 2018

    Комментарии (53)
  2. Python / Говнокод #23658

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    def normalize_phone(phone):
            if (not phone):
                return
            normalized_phone = phone.replace("(", "").replace(")", "").replace("+", "").replace("-", "").replace(" ", "")
            if normalized_phone[0] == "7":
                p = list(normalized_phone)
                p[0] = "8"
                normalized_phone = "".join(p)
            if normalized_phone[0] == "9":
                normalized_phone = "8" + normalized_phone
            return normalized_phone

    Питонокод пхпешника.

    хуита, 17 Января 2018

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

    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
    function filterByMinMax($array, $key, $by = 'max') {
        if (!is_array($array) || count($array) == 0) return false;
        $govn9ashka = $array[0];
        foreach($array as $a) {
            if ($by == 'max') {
                if ($a[$key] > $govn9ashka[$key]) {
                    $govn9ashka = $a;
                }
            } else {
                if ($a[$key] < $find[$key]) {
                    $govn9ashka = $a;
                }
            }
        }
        return $govn9ashka;
    }

    Возвращает говняшку

    akselmj, 17 Января 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    https://www.reddit.com/r/cpp/comments/75gohf/i_just_found_a_use_for_the_poop_emoji_in_c/
    запостить этот говнокод непосредственно сюда не представляется возможным из-за юникодного символа говна:
    Application was halted by an exception.
    Debug-mode is off.

    I just found a use for the poop emoji in C++
    This actually detects whether the Visual Studio project has the proper UTF-8 flags set to compile it correctly.

    j123123, 16 Января 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Привет, петушки.
    Тут купил себе на днях доступ к скрытому сайту с ЦП (отвалив, между прочим, четыре с лишним косаря).
    Поскачивал, посмотрел. Не моё. Во первых, скачивается долго, а во вторых, содержимое в итоге оказалось не в моем вкусе.
    Мне, впринципе, теперь поебать на этот сайт, но жаль, что 90 скачиваний пропадают просто так. Поэтому дарю доступ нахаляву:
    Хост http://mt3plrzdiyqf6jim.onion/index.php
    Логин pidarok
    Пасс biblia911
    Сайт открывается только в Торе.
    Счастливого дроча.

    g0_1494089160669, 15 Января 2018

    Комментарии (12)
  6. C++ / Говнокод #23652

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    bool switchToNext( SomeStdVectorTypedef& a )  {
        SomeInfo* info = this->getInfo();
        if ( ++info->i_current >= a.size() ) { // Порядок вычисления операндов тут, нужно ли после такого менять штаны?
            info->i_current = 0;
            return true;
        } else
            return false;
    }

    Некогда читать стандарт, поэтому решил накласть сюда сферический пример в ваккуме.
    Говнокод?

    OlegUP, 12 Января 2018

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

    −1

    1. 1
    2. 2
    3. 3
    https://software.intel.com/sites/default/files/managed/2b/80/5-level_paging_white_paper.pdf
    
    http://lkml.iu.edu/hypermail/linux/kernel/1612.1/00383.html

    x86-64 is currently limited to 256 TiB of virtual address space and 64 TiB
    of physical address space. We are already bumping into this limit: some
    vendors offers servers with 64 TiB of memory today.

    To overcome the limitation upcoming hardware will introduce support for
    5-level paging. It is a straight-forward extension of the current page
    table structure adding one more layer of translation.

    It bumps the limits to 128 PiB of virtual address space and 4 PiB of physical address space.
    This "ought to be enough for anybody" Â.

    https://imgs.xkcd.com/comics/supported_features.png

    3.14159265, 11 Января 2018

    Комментарии (79)
  8. C++ / Говнокод #23650

    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
    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
    #include <typeinfo>
    #include <string>
    #include <iostream>
    using namespace std::literals::string_literals;
    using std::cout;
    
    #if defined(__GNUG__) || defined(__clang__)
    #include <cxxabi.h>
    template <typename T>
    std::string get_real_type() {
    	int status;
    	char *real_name = abi::__cxa_demangle(typeid(T).name(), nullptr, nullptr, &status);
    	return (status == 0 ? std::string(real_name) : ("(not demangled)"s + typeid(T).name())); 
    }
    #else
    template <typename T>
    std::string get_real_type() {
    	return typeid(T).name();
    }
    #endif
    
    template <typename T>
    struct overload_generator {
    	std::string get_type_impl() {
    		return get_real_type<T>();
    	}
    };
    
    template <typename... Ts>
    struct printer : overload_generator<Ts>...
    {
    	using overload_generator<Ts>::get_type_impl...;
    	template<typename T>
    	void println_type() {
    		cout << overload_generator<T>::get_type_impl() << '\n';
    	}
    	template <typename... Us>
    	void println_types() {
    		println_types_impl((std::string(overload_generator<Us>::get_type_impl()) + "\n")...);
    	}
    private:
    	template <typename... Us>
    	void println_types_impl(Us... args) {
    		(cout << ... << args);
    	}
    };
    
    int main() {
    	auto pr = printer<int,long,decltype(nullptr)>();
    	pr.println_type<long>();
    	pr.println_types<long, decltype(nullptr),int>();
    }

    По мотивам http://govnokod.ru/23638#comment395579
    Разманглил имена, а то gcc выдает нечитаемую дичь в type_info::name для типов сложнее инта
    Ну и сахар из c++17 вроде свёртки аргументов вариативной шаблонной функции (fold expression, хз как лучше перевести) тут тоже есть

    eszett, 11 Января 2018

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    сука блядь конченые доки сифайла
    пидорасы
    авторизация через shibboleth сука!
    так бы сразу и сказали, что надо два заголовка пихнуть
    REMOTE_USER и eppn
    но нет
    вот вам устаревший мануал по установке куска говна
    с использованием другого куска говна
    все это на говнотехнологии
    сидите ебитесь с tcpdumpом сами

    Продам кресло компьютерное не бито не крашено вин на месте в дтп не было лобовое без трещин

    cykablyad, 09 Января 2018

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

    0

    1. 1
    $urlId = (is_numeric($urlId = explode('-', $url)[0]) ? $urlId : null);

    KEKC, 09 Января 2018

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