Куча говна / Говнокод #27429 Ссылка на оригинал

0

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

#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
#67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
#68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
#69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
#70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
#71: https://govnokod.ru/27115 https://govnokod.xyz/_27115
#72: https://govnokod.ru/27120 https://govnokod.xyz/_27120
#73: https://govnokod.ru/27136 https://govnokod.xyz/_27136
#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

Запостил: nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (650) RSS

  • Доброй ночи.

    Этот оффтоп сгенерирован автоматически.

    Индекс оффтопов: https://index.gcode.space/.
    Зеркала Говнокода и полезные ресурсы:
    * https://govnokod.xyz/ (альтернативный Говнокод)
    * https://gcode.space/ (read-only зеркало Говнокода)
    * https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
    * https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
    * https://vorec.space/ (глоссарий Говнокода)
    * https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)

    Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
    Остерегайтесь подделок. Берегите себя и своих близких. Кок!
    Ответить
  • долбоёбам реально нравится такой код
    fun onClickStartTask(view: View) {
        var listNewPath = emptyList<String>()
        CoroutineScope(Main + job).launch {
            try {
                //shows something in the UI - progressBar
                withContext(IO) {
                    listNewPath = listUri.map { uri ->
                        async {
                            //path to file temp
                            val pathFileTemp =
                                "${getExternalFilesDir("Temp").toString()}/${uri.lastPathSegment}"
                            val file = File(pathFileTemp)
                            val inputStream = contentResolver.openInputStream(uri)
                            inputStream?.use { input ->
                                FileOutputStream(file).use { output ->
                                    val buffer = ByteArray(1024)
                                    var read: Int = input.read(buffer)
                                    while (read != -1) {
                                        if (isActive) {
                                            output.write(buffer, 0, read)
                                            read = input.read(buffer)
                                        } else {
                                            input.close()
                                            output.close()
                                            file.deleteRecursively()
                                            throw CancellationException()
                                        }
                                    }
                                }
                            }
                            //If completed then it returns the new path.
                            return@async pathFileTemp
                        }
                    }.awaitAll()
                }
            } finally {
                //shows list complete in the UI
            }
        }
    }
    Ответить
  • -- Выпей вина, - бодро предложил Мартовский Заяц. Алиса посмотрела на стол, но не увидела ни бутылки, ни рюмок.

    -- Я что-то его не вижу, - сказала она.
    -- Еще бы! Его здесь и нет! - отвечал Мартовский Заяц.
    -- Зачем же вы мне его предлагаете? - рассердилась Алиса. - Это не очень-то вежливо.


    NOTE: This part represents the target vision of the package. Most modules are still unavailable.

    kotlinx-io package has many modules and you can use as much as you need.

    * core – defines all the low-level functionality for working with binary data and basic text.
    * async – (unavailable) implements asynchronous versions of input and output data streams.
    * platform – (unavailable) provides low-level platform facilities such as reading or writing from/to a file.
    * sockets – (unavailable) provides low-level functionality for interacting with network.
    * cryptography – (unavailable) provides encryption & decryption functionality.
    * compression – (unavailable) provides compression & decompression functionality.
    * files – (unavailable) provides advanced file system functionality such as working with paths and directories.
    https://github.com/Kotlin/kotlinx-io
    Ответить
    • КАКОЙ БАГОР )))

      Впрочем, чего ожидать от языка, в котором так много «fun». Ну, тут хотя бы привели список. В «Go», наверное, просто бы напиздели, и о том, что нужный модуль «unavailable», ты бы узнал уже в процессе написания кода 🙂
      Ответить
      • > чего ожидать от языка, в котором так много «fun»

        Дык в крестах точно так же... Читаешь про охуенные фичи с++20, а потом оказывается, что для половины из них нужен конпелятор, который сейчас в бете, а остальные вообще не запилены.
        Ответить
    • Охуенно, пойду свой язык программирования релизить. Там уже запилены все нужные фичи, но они пока unavailable.

      З.Ы. Early access уже и до языков программирования добрался?
      Ответить
      • Автор просто ...
            // дописать: "пишет"
            // дописать каким именно образом пишет.
            pass
        Ответить
        • не поедет
          чтобы машина времени поехала надо дописать todo:
          Ответить
      • Patreon goals:
        $100+ monthly — Implement function arguments
        $300+ monthly — Compiler publicly avaliable
        5+ $100 tier Patrons — montly poll on next feature to be included
        Ответить
  • блядь, я положил говнокод.ру случайно
    package com.example
    
    import io.ktor.client.*
    import kotlinx.coroutines.*
    import io.ktor.client.request.*
    
    suspend fun downloadGk(id: Int): String {
        return HttpClient().get("https://govnokod.ru/$id")
    }
    
    fun main() = runBlocking {
        val ioScope = CoroutineScope(Dispatchers.IO)
        (26429..27428).map {
            ioScope.async {
                println(downloadGk(it).length)
            }
        }.awaitAll()
        ioScope.cancel()
    }
    Ответить
    • > downloadGk(it).length

      Мы жалуемся на крестостандарт, а в котлине вообще добавили метод, чтобы посмотреть длину говнокода на сайте govnokod.ru.
      Ответить
  • https://www.opennet.ru/opennews/art.shtml?num=55159

    Смотрите, какая новость!

    Продемонстрирован метод атаки на редактор кода VSCode, позволяющий передать произвольные системные файлы при открытии в редакторе специально оформленного исходного кода. В предложенной демонстрации при открытии кода на языке Rust, в котором используется процедурный макрос, выполняется установка соединения с хостом 127.0.0.1:8080 и отправка содержимого файла "~/.ssh/id_rsa" с SSH-ключами пользователя.

    Для компрометации достаточно просто открыть файл с кодом, без выполнения каких-либо других действий с проектом.
    Ответить
    • Какой багор )))

      В виме с емаксом вроде тоже такие уязвимости были из-за волшебных комментов с опциями.
      Ответить
  • https://m.habr.com/ru/news/t/557542/

    Ураа, сторис в гитхабе! Как хорошо, что я не пользуюсь этим говном, а заведу себе ЛИСИЙ гитлаб.

    13 мая 2021 года GitHub объявил, что включил опцию выгрузки видео на платформу для всех пользователей. Разработчики могут загружать видеофайлы форматов mp4 и mov как в веб-версии сервиса, так и в мобильных приложениях GitHub для Android и iOS.

    Цель нововведения — позволить разработчикам делиться проблемными моментами при программировании и выявлении ошибок в работе приложений, расшаривать контекст проекта, предоставлять отзывы о проверке кода, делиться обновлениями, передать сквозные рабочие процессы и визуально взаимодействовать с другими членами команды проекта.

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

    GitHub пояснил, что новая функция будет особенно удобна для мобильных разработчиков...
    Ответить
    • Мечты: теперь разработчики могут вставлять видео во всех разделах сервиса, чтобы делиться с коллегами более подробной информацией о сложных изменениях кода, предоставляя пошаговые инструкции по коду, демонстрировать его функциональные возможности без привязки к сторонним ресурсам по хранению роликов.

      Реальность: разрабы кидают мемы и смехуёчки.
      Ответить
    • Да... Жаль, овнер sourcehut'а поехал на политике, продукт-то минималистичный и годный.
      Ответить
      • > поехал на политике

        Там теперь тест на политические взгляды сдавать надо перед коммитом? Как мировоззрение овнера влияет на качество продукта?
        Ответить
        • Завтра он ещё больше поедет и забанит тебя, меня, Полиночку и СНяуТа за пропаганду суицида и разврата среди несовершеннолетних детей (японских картинок аниме мультиков).
          Ответить
        • > Там теперь тест на политические взгляды сдавать надо перед коммитом?

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

            Типа, например, сделать приём на работу по результатам теста, но тестирующей программой нельзя пользоваться женщинам, китайцам, чернокожим, украинцам, ... У «DPP», не знаете, такое практикуется?
            Ответить
            • > которая запрещает людям определенных категорий пользоваться софтом

              Конечно. У одной из реализаций json так и было написано: "юзать во имя добра". В итоге эта либа ушла на помойку и никому не нужна, даже PHP'шникам.
              Ответить
              • > юзать во имя добра

                — Хотел тебе доброе дело!..
                Ответить
              • вот поэтому и нужна фашистско-трампистская рецензия готическим шрифтом
                Ответить
          • да ну нах

            sr.ht is currently in alpha, and the quality of the service may reflect that.

            Amateur Hackers
            Includes access to all features.
            $2/month or $20/year
            Ответить
    • ну всё, ждите документацию к новой джаваскрипт библиотеке в виде видео
      Ответить
  • Если перекатывать раз в 16 дней в среднем, то до НГ успеем перекатить сотый оффтоп!
    Ответить
        • Угу, причем хуёвой.

          Пыхер и ооп
          class builder {
              public function convertXML($name,$data,$type)
              {
                  global $sxml;
                  $sxml .= "<" . $name . ">\n";
                 
                  switch ($type) { ... }
          
                 $sxml .= "</" . $name . ">\n";
              }
              public function output(){
                  global $sxml;  
                  $append .= "<flow>";
                  $append .= trim($sxml);
                  $append .= "</flow>";
                  ...
              }
          }
          
          class Config {
                static $instance = null;
          
                function getInstance(){
                       if(self::$instance == null)
                           self::$instance = parse_ini_file ( файл конфигурации );
          
                       return self::$instance;
                }
          }
          Ответить
                                • Он прекрасен. А как на нём сделать компайл-тайм шаблон СВИНАЕ с дженериком?
                                  Ответить
                                  • Там нет метапрограммирования. Как сказал бы Goшник: рутинную работу принято делать явно:)
                                    Ответить
                                      • зачем тебе обобщенное программирование?

                                        тебе жалко одно и тоже 4 раза написать?
                                        Ответить
                                        • Я хочу писать один мокрос, чтобы он раскрывался в целую программу!

                                          Зачем вообще нужен «Go»? Не иметь в 2021 году прикольных финтифлюшек – это великий позор уровня «ПХП».
                                          Ответить
                                          • Мы вроде уже обсуждали, что GO нужен чтобы писать несложные утилитки и скриптики, но при этом иметь стат типизацию и стат линковку (чтобы везде работало), простой менежер пакетов, корутины (чтобы удобно читать из нескольких источников), внятный кодстайл итд

                                            Такой вот shell на стероидах))
                                            Ответить
                                            • Дааа, «Go» это действительно компилируемый «bash» с приколами. Думаю, каждому гошнику нужно знать своё место в мире программирования 🙂
                                              Ответить
                                              • На хабре очень хорошо видно, что от go в основном текут ПХПшники

                                                Хотя Роман говорил, что он в гоогле на нем всякую мелочь писал (ну собссно видимо ту, которую он бы иначе писал на скриптушне)
                                                Ответить
                                        • ты же только что тактоебствовал насчет массивов и викторов...
                                          Ответить
                                          • Это же было зеленым)

                                            Разумеется, я за обобшенное программирование
                                            Ответить

                                      • хм)

                                        Вообще мысль заменить обобщённое программирование кокогенерацией может не так уж и плохоа
                                        Ответить
                                        • я имею в виду что речь была не о go
                                          >заменить обобщённое программирование кокогенерацией

                                          на фронте так генерят типы из graphql схем, graphql схемы из и этих схем с бека

                                          а что такое обобщеное программирование я никогда не понимал потом прочтал интервью с Александром Степановым и все равно нихуя не понял
                                          Ответить
                                          • "обобщеное программирование" это когда описывают алгоритм без привязки к конкретным типам.

                                            Генерики в TS и в питонячих typehints -- частные случаи оного, но крестовые шаблоны намного мощнее и важнее для крестов
                                            Ответить
                                            • такое объяснение меня не устраивает потому что оно скрывает сильно много всего под собой и может значить что угодно

                                              1)сложить два инт32 или два инт64

                                              2)сделать операцию удаления переднего элемента на массиве и односвязном списке

                                              3)генерация всех валидных бинарных деревьев и всех способов расставить скобки в произвольном выражении подразумевает тоже одинаковый алгоритм из комбинаторики

                                              мне эта вся хуйня видится более сложной чем дженерики и по-моему слишком много разной хуйни можно под это понятие запихнуть
                                              Ответить
                                              • В первом случае инты нужно заменить на "T", и тогда алгоритм будет обобщенным

                                                Все остальные примеры верны, КМК.

                                                Генерики это инструмент реализации обобщенного программирования, весьма убогенький
                                                Метапрограммирование наверное более крутой способ

                                                (шаблоны я называю метапрограммированием, а джавьи генерики -- нет, а вот C#ные -- середка на половинке)

                                                В принципе любой алгоритм, в котором есть переменная, чей тип алгоритму не важен, вероятно является обобщенным.

                                                Так вижу

                                                зы: если язык не дает средств для обобщенного программирования, но его можно сэмулировать работая с объектами через указатель. Алгоритму всё равно, на что указывает указатель (так работали коллекции до второго сишарпа и до пятой кажется джавы)
                                                Ответить
              • Насру тебе в рот после приема очередного соуса с говорящим названием «посмертный корейский дракон огня хуй-цзинь ляо» из лапшичной который оказался немного острее
                Ответить
            • Ну это просто очень хуёвый код, как и любой код на PHP
              Оба класса можно смело заменить обычными функциями
              Ответить
  • Почему решарпер не подсвечивает явную хуйню типа
    std::map<int, int&> a;

    ?
    Ответить
    • А в чём хуйня? Вполне валидный код. Присвоить или вставить ты не сможешь, конечно. А вот инициализатор или эмплейс должны прокатить.
      Ответить
      • ээ, разве map не требует копировабельной хуиты?

        кстати, что будет, если я следующей строчкой напишу a[12123] ?
        Ответить
        • > не требует копировабельной хуиты

          Вообще говоря нет. Но на методы будут наложены соответствующие ограничения. Например со скобочками можешь попрощаться. Зато a.at(42) будет работать, как и a.emplace(42, var).
          Ответить
            • Скобочки тупо не скомпилятся, скорее всего. Нельзя ведь ссылку по-умолчанию создавать. Так что с ними ничего не вернётся.
              Ответить
              • А если не копировать?
                int& b = a[1];


                а, at, это который искл кидает?
                Ответить
                        • В Цирке сегодня для вас Бенефис:
                          Слетят из под купола кубарем вниз
                          Коверные клоуны Нокоть и Логоть
                          С веселой программой “Сатира и похоть”!

                          Весь вечер работать готов каучук
                          Горбун акробат педераст Хлопотюк!
                          Близнецы малолетние Жапа и Жоба
                          Удивят православных прыжками из гроба!
                          Ответить
                      • > Один раз - не пидорас.
                        Theorem vtoroi_raz_ne_pidoras:
                          forall (T: Type) (odin_raz: T -> T) (Pidoras: T -> Prop),
                            (forall x, ~Pidoras (odin_raz x)) -> (forall x, ~Pidoras (odin_raz (odin_raz x))).
                        Proof.
                          intros. apply H.
                        Qed.
                        Ответить
                        • И какой из этого может сделать вывод человек, знающий «Coq»?
                          Ответить
                        • И какой из этого может сделать вывод человек, знающий «Coq»?
                          Ответить
                          • Он бы подумал, что в третьей строке его пытаются наебать.
                            Ответить
                            • Какой багор ))))

                              И правда! Как хорошо, что в «Coq» нет перлизмов, поэтому даже я могу читать код на «Coq»!
                              Ответить
                              • > нет перлизмов

                                Это пока ты какое-нибудь (A /\ B) \/ C <-> A /\ C \/ B /\ C не увидел... Там же произвольные операторы из закорючек можно запиливать, а не десяток-другой перегружать как в крестах.
                                Ответить
                                • Тут тоже всё поНятно, это ведь алгебра логики! А можно в «Coq» сделать свой оператор из всяких закорючек, чтобы никто не понял формулы? В «Nim» можно!
                                  Ответить
                                  • В нём можно пробел перегрузить, чего уж там.
                                    Ответить
                                    • > пробел перегрузить

                                      Ну это ведь просто список с пробелами между элементами? Одиночный пробел по-любому нельзя перезагрузить?
                                      Ответить
                                      • Одиночный тоже можно, для "only printing" будет даже работать (счастливой отладки).
                                        Ответить
                                • >(A /\ B) \/ C <-> A /\ C \/ B /\ C н

                                  тут написано:

                                  "(А и Б) или Ц" тоже самое, что "А и Ц или Б и Ц"

                                  Где тут перлизм?
                                  Ответить
                                    • Мне кажется, нынче такую хуйню чуть ли не на информатике проходят в школе, не?
                                      Ответить
                                      • В школе проходят "дистрибутивность" а в вузе говорят что эти палочки имеют свойство дистрибутивности
                                        Ответить
                                        • Биекция — отображение, которое является одновременно и сюръективным, и инъективным.
                                          Ответить
                                          • Биективное отображение, являющееся гомоморфизмом, называют изоморфным соответствием.
                                            Ответить
                                  • > Там же произвольные операторы из закорючек можно запиливать

                                    Так что ты ня угадал! Ня самом деле здесь написано "сконкатенировать строку A с числом B, вывести в поток C, а потом отправить в виде IP-кадра по адресу A.C.B.C" (*≧ω≦*).
                                    Ответить
                  • ты потом дописал же)

                    ты прав в общем, работает
                    auto i = 42;
                    	std::map<int, int&> a;
                    	a.emplace(100, i);
                    
                    	std::cout << a.at(100);
                    Ответить
                    • > работает

                      Лол, но это всё равно эзотерика, конечно...

                      Можно даже a.at(100) = 100500, по идее. Запись редиректнётся в i.
                      Ответить
                      • обычно наверное всё же указатели хранят

                        А если у меня есть объект, который нельзя копировать, и конструктора по умолчанию у него нет. Я хочу хранить его в мапе

                        Я понимаю, что создавать я его смогу только через emplace, а читать толкьо через at. Но меня это устраивает

                        Это вообще нормальное желание?

                        > Запись редиректнётся в i.
                        Возможность вернуть ссылку в крестах меня люто веселит

                        в каком еще языке можно написать

                        user.iq() = 42
                        ?
                        Ответить
                        • «C++» создан, чтобы каждый мог дать волю своим странным желаниям.
                          Ответить
                        • Ну такой объект ты и через обычный insert сможешь закинуть (если он перемещаемый).

                          А скобочки не будут работать из-за их сайд-эффекта, да. Им нужен конструктор по-умолчанию.
                          Ответить
                        • А ещё вот так можня:
                          struct User {
                              std::string m_name{};
                              
                              std::string & name() & noexcept { return m_name; }
                              const std::string & name() const & noexcept { return m_name; }
                              std::string name() const && { return m_name; }
                          }


                          Теперь user.name() — это:
                          1) мутабельняя ссылка ня m_name, если user мутабельный;
                          2) иммутабельняя ссылка ня m_name, если user иммутабельный/константный;
                          3) копия m_name, если user — это временный объект.

                          Причём если ня сделать третью перегрузку — всё равно получится хорошая защита от висячих ссылок (User("Polina").name()).
                          Ответить
                          • ебать перегрузка по временности объекта?!
                            ткни в cppref пжлс, хочу почитат
                            Ответить
                              • Спасибо

                                Если бы в крестах в зависимые функции явно передавали this (как в питоне) то наверное это выглядело бы как обычная перегрузка по типу принимаего значения, и было бы проще это понять
                                Ответить
                    • Лучше для таких вещей использовать std::ref() -> std::reference_wrapper. Это такая обёртка няд ссылкой, которую можня копировать/присваивать/перемещать, и, соответствення, совать в любые STL-контейнеры вроде вектора.
                      Ответить
                      • А вот интересно: в вектор некопирабильно-немувабельное говно сувать нельзя, потому что он требует последовательной памяти, и потому когда растет -- вынужден копировать и мувать

                        А мап и лист умеют разложить данные по всем доступным дыркам, и связать их указателями, и потому у них такого требования нет?
                        Ответить
                        • Ну да, мап и лист внутри себя хра-ня-т ноды (в точнясти как классическое сишное "struct Node { void *value; struct Node *next; }"), и двигать сами объекты им ня нужня. Та же балансировка дерева в std::map — это просто перестановка указателей ня ноды. Добавление в середину списка — аллокация ноды и правка соседних next/prev, удаление — анялогичня, просто изменение указателей.
                          Ответить
                          • такая есть мысль: долгоживущий лист может сильно фрагментироваться

                            Поскольку вся подсистема памяти (от префетчера до микросхем SDRAM) заточена на последовательное чтение находящихся рядом данных, то итерация по листу начнет тормозить

                            Есть дефрагментатор листа?
                            Ответить
                            • Нясколько я зняю, нет, разве что заново его создавать (но тут уже придётся сами объекты двигать).
                              Но вообще лист же каждую ноду отдельным вызовом new this->get_allocator().allocate() выделяет, там последовательность с самого создания будет очень ня очень.
                              Ответить
                              • Можно дать свой аллокатор с желаемым поведением. Но аллокаторы в С++ то ещё говнецо из-за того, что объекты с разными аллокаторами плохосовместимы (помимо polymorphic_allocator).
                                Ответить
                                • Можня, но это решит только проблему нячальной фрагментации. Если у Макаки будет долгоживущий и активня модифицируемый (с частыми insert/erase в середину) лист — он всё равно в итоге окажется сильня фрагментированным.
                                  Ответить
                                  • Так а можно как-то замкнуть алокатор на какую-то арену, и запретить ему выделять память за её пределами

                                    Но правда тогда в какой-то момент память просто кончится, и всё
                                    Ответить
                                    • Как сказала Полина, проблему фрагментации из-за частого удаления/вставки элементов это не решит. Элементы будут локализованы, что позволит им быть закешированными, но последовательного доступа к памяти не добиться.
                                      Ответить
                                      • В принципе, можня попробовать сделать std::list::sort() по "[](const T & a, const T & b) { return std::addressof(a) < std::addressof(b); }". Порядок элементов, конячно, потеряется, но фрагментация по идее починится.
                                        Ответить
                                        • >std::addressof
                                          это зачем такое? На случай перегрузки амперсанда?
                                          Ответить
                                        • >std::addressof
                                          это зачем такое? На случай перегрузки амперсанда?
                                          Ответить
                                          • Так точня. Писать по-нястоящему обощённый код ня плюсах — то ещё хождение по минному полю с граблями.
                                            Ответить
                                          • Так точня. Писать по-нястоящему обощённый код ня плюсах — то ещё хождение по минному полю с граблями.
                                            Ответить
                                      • Ну если они находятся настолько близко друг к другу, что влазят в кеш, то можно считать доступ "почти" последовательным

                                        Хотя конечно процерь не сможет наверное бежать "вперёд паравоза"
                                        Ответить
                                        • Вообще говоря, если речь заходит о кэшах, предикторах и префетчерах, то стандартный лист общего пользования, скорее всего, уже не подходит как минимум из-за няличия огромного количества индирекций. Если лист боттлнечит имення по доступу к памяти (а чтобы это выяснить — нядо гонять perf stat), то тут нужня думать о замене его ня царский массив, ну или какой-нибудь экзотический intrusive list.
                                          Ответить
                                        • Вообще говоря, если речь заходит о кэшах, предикторах и префетчерах, то стандартный лист общего пользования, скорее всего, уже не подходит как минимум из-за няличия огромного количества индирекций. Если лист боттлнечит имення по доступу к памяти (а чтобы это выяснить — нядо гонять perf stat), то тут нужня думать о замене его ня царский массив, ну или какой-нибудь экзотический intrusive list.
                                          Ответить
                                          • А ксати наскока вектор хуже обычного массива?
                                            Вроде как доступ должен быть примерно такой же: там же итератор это честный поинтер

                                            С листом-то всё понятно, но там никто ничего и не обещал
                                            Ответить
                                            • В популярных либах в релизном режиме и при включенных оптимизациях — нинаскока.

                                              * Имеется в виду динамически аллоцированный массив.
                                              Ответить
                                              • >* Имеется в виду динамически аллоцированный массив.
                                                Ну то есть цена массива плюс цена на аллокацию говна в куче примерно... понятно
                                                Ответить
                                              • >* Имеется в виду динамически аллоцированный массив.
                                                Ну то есть цена массива плюс цена на аллокацию говна в куче примерно... понятно
                                                Ответить
                                                • Если хочешь прям совсем-совсем массив, то есть std::array.
                                                  Ответить
                                                  • он вроде даже не VLA, не?

                                                    Зачем кстати он нужен? Чтобы знать свой размер и копироваться нормально?
                                                    Ответить
                                                    • Знать размер, нормально копироваться, не превращаться в указатель от каждого чиха, нормально работать с метушнёй. Быть модерновыми.
                                                      Ответить
                                                      • В общем он именно такой, каким бы и должен быть массив изначально в няшной (ну кроме разве что рамера)
                                                        Ответить
                                                        • > ну кроме разве что рамера
                                                          А что с размером ня так? У std::array он является частью типа, в рантайме его нят.
                                                          Ответить
                                                          • а, он чисто чтобы в комплай тайме говно ловить?

                                                            тогда лайк!!
                                                            Ответить
                                    • > Так а можно как-то замкнуть алокатор на какую-то арену, и запретить ему выделять память за её пределами

                                      Можно. И дефрагментатор в рамках этой арены можно реализовать. В сами ноды можно встроить байтики с хранимой хуитой, т.е. вместо тупого
                                      struct Node
                                      {
                                        struct Node *next;
                                        void *value;
                                      }

                                      можно делать типа
                                      struct Node
                                      {
                                        struct Node *next;
                                        size_t sz; // размер в байтах
                                        uint8_t data[]; // сами байты
                                      }


                                      т.е. не таскать хуйню отдельно, а хранить вместе. И аллоцировать каждую ноду с нужным размером. Как такая хуита натягивается на концепцию аллокаторов крестоговна - а хер его знает, меня не ебет всякое крестопарашное говно.
                                      Ответить
  • fun main() = runBlocking { // this: CoroutineScope
        launch { // launch a new coroutine and continue
            delay(1000L) // non-blocking delay for 1 second (default time unit is ms)

    Интересня, когда авторы библиотек прекратят генерировать грабельные поля, делая функции, принимающие отрезок времени как целое число?

    Даже в крестах по-ня-ли, что это говно, и сделали годный (хотя и нясколько многословный) std::chrono.
    Ответить
    • даже в жавке починили
      schedule(Runnable command,
                                long delay, //вот
                                TimeUnit unit) //и вот


      гляжу, ты занялся кокорутинами в кокококотлине
      какак тебе?
      Ответить
  • Девyшка с аyдиокассетами:

    – Вы можете мне пеpеписать этy кассетy на этy?

    – Да, конечно.

    – А можно, я, пока они бyдyт писаться, ещё вот этy послyшаю?

    – Hет, к сожалению. Втоpой магнитофон сейчас занят под дpyгой заказ.

    – А пpямо на этом нельзя? Он же двyхкассетный…


    Что тут не так? Он же двухкассетный. Или это был дефекейт-плюс-плюсный магнитофон?
    Ответить
    • Как ты себе представляешь переписывание кассеты?
      Ответить
      • Вставляешь кассету, потом ещё одну, а потом жмёшь кнопку и оно делает ЖЖШШЖШЖЖШШШ и портит обе кассеты.
        Ответить
        • Магнитофон читает с одного стрима и сразу же его пишет на второй стрим
          У него буфера чтобы всё туда считать

          Так что оба сокета заняты кассетами (сурсом и дестинейшеном) при записи
          Ответить
      • Как хорошо, что в компьютерах обычно бинарное представление информации, это позволяет тян быть программистками! ^–^
        Ответить
        • Почитай про троичный компьютер и тернарную логику
          Ответить
          • Это уже необычные компьютеры, такими лучше не пользоваться.
            Ответить
    • Очень тpyдно общаться с начальником Говнокода по вопросам свинае и шоблоёбло: он всё вpемя pычит и матеpится. И, надо сказать, я его понимаю… Зашёл как-то к немy за шобловёpтками. Вместе со мной заходит сотpyдница header-only библиотеки и говоpит, что y неё пpоблема с метушением и без специалиста ей не обойтись. Добpавшись до её компьютеpа, выясняем, что она накачала из SO сниппетов с шаблонами, а пpоблема заключается в том, что она не знает, как их тепеpь сложить в один файл и скомпилировать. И эти тётки бегают к немy с подобными вопpосами каждые пять минyт.
      Ответить
    • А тут даже менять ничего не надо, и так смешно, если знаешь сёму:

      – Молодой человек, помогите мне вставить дискетy в компьютеp.

      – Вы же сказали, что yмеете pаботать с компьютеpом…

      – Умею. Я же Вас не пpошy текст за меня печатать. А дискетy вставлять я yметь не должен: я пользователь.
      Ответить
    • А это – guest6 зашёл в библиотеку и по привычке наспамил.

      – Молодой человек, Вам можно довеpить конфиденциальнyю инфоpмацию?

      – А зачем мне Ваша конфиденциальная инфоpмация?

      – Мне подpyга по большомy секpетy сказала интеpнетовский адpес, где можно найти мyжа, а я сама с интеpнетом pаботать не yмею… Вы мне можете помочь? Только это большой секpет. Hикомy этот адpес не говоpите, а то мне же его по секpетy дали…

      – Ох… Хоpошо… Давайте Ваш адpес.

      – Вот он… http://www.kiss.ru
      Ответить
    • Пиздц

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

          А начиная где-то с висты туда Ионеску подался, и вроде даже Йосифовича завезли
          Ответить
          • да это хитрый жид Руссинович просто нанял гастеров работу делать
            Ответить
      • > хакает свой процесарь

        Емнип, обосрались AMD'шники там, вот и пришлось чинить. Там целые поколения процов были зашкварены.
        Ответить
        • Ну сам подход-то какой, а?!
          Если видишь в EnumProcesses какой-то экзешник, то срёшь процу в какие-то недокументировные регистры,пиздец
          Ответить
          • Ну там и нормальный фикс был потом, просто прошивку обновить (видимо апдейт микрокода?).
            Ответить
            • так не проще ли выпустить обязательное обновление прошивки? Его MS с виндой же умеет распостранять?
              Ответить
              • Х.з., возможно оно ещё что-то ломает. На форуме писали, что даже AMD'шная тула в упор писала "обновлений нет" пока чел сам не пошёл на их сайт и не скачал.
                Ответить
                • ты ниже проскролль, оно там бэкдорит для игрушек
                  Ответить
    • Ионеску подался в обратные инженеры? он же вроде чемто другим раньше занимался типа крестильного бизнеса

      алсо, вот сидят они все такие в этом/таком красножопом птиччере, а потом мы удивляемся с чего бы вдруг комуто из них сорвало крышку и он усирается про фашистского демагога Дональда Трампа

      а пиздец не так выглядит
      DirectX has specific kernel improvements designed to make World of Warcraft shaders run faster
      Ответить
      • Ебаные протекшие абстракции, а

        В теории у нас куча независимых кусочков, каждый из которых реализует внятное API, а на деле пирог из говна и палочек
        Ответить
        • During the run-up to Windows XP Service Pack 2 Beta in December of last year, there was a list of five bugs that the release management team decided were so critical that they were going to slip the beta until those bugs got fixed. The third bug on the list: Deer Hunter 4 won’t run.
          Ответить
        • > пирог из говна и палочек
          > протекшие абстракции

          После if'ов по названию операционки в ACPI я уже ничему не удивляюсь...
          Ответить
          • ну тут я еще могу их понять

            88% пользователей их железного говна это Windows, а если считать тех, кто приносит деньги, то навернео и все 100%. Ты же это не на серверном железе небось видел, а на ноутах?
            Ответить
            • > приносит деньги

              Именно поэтому видяшники бенчат популярные игрухи и фиксят в них шейдеры за разрабов...
              Ответить
  • Это тоже пиздец

    Представительница Мексики Андреа Меса стала победительницей конкурса красоты «Мисс Вселенная». Мероприятие проходило в штате Флорида. Обладательница титула работает программистом. Она активно выступает против насилия по гендерному признаку. Ей 26 лет. Второе место заняла представительница Бразилии, а третья – Перу.

    Вот ты какая -- мисс Вселенная!
    https://www.buenamusica.com/media/fotos/cantantes/biografia/andrea-mesa.jpg
    Ответить
  • Вид жабобляди, семейство андроидновидные, подсемейство котлино-корутинские
    class Activity {
        private val mainScope = MainScope()
    
        fun destroy() { // <-- Это "деструктор" активити, вероятно вызывается по LifecycleObserver.onDestroy
            mainScope.cancel() // <-- а это он вызывает "деструктор" скопа
        }

    буэ
    Ответить
  • Хейтить PHP было модно уже сто лет назад:

    Овцы не наелись молочая,
    Дождь огня священного не залил,
    Ни косматый лев, ни зенд жестокий
    К нашему шатру не подходили.
    Ответить
  • В Саудовской Аравии в 2007 году отец убил молодую девушку, когда узнал, что она общалась с молодым человеком по Facebook. Случай получил широкий резонанс и огласку в СМИ. Консерваторы призвали правительство запретить Facebook.

    Собссно, вопрос: Как Фейсбук добрался до Аравии всего на второй год существования?
    Ответить
    • В 2010 году советник королевского двора и министерства юстиции издал фетву, согласно которой женщина обязана вскармливать грудным молоком водителя, работающего на неё, чтобы он стал для женщины махрамом.

      Википедия
      Ответить
      • В октябре 2015 года верховный муфтий Саудовской Аравии Абдулазиз Али Шейх заявил, что мужья в случае сильного голода имеют права идти на каннибализм против жён:


        Если мужчина будет смертельно голоден и не найдет дома еды, он может отрезать фрагмент тела своей жены и съесть его. Женщина должна отнестись к этому решению с преданностью и смирением, так как является с мужем одним целым
        Ответить
        • Для того, чтобы обвинить человека в прелюбодеянии, необходимо четыре надёжных, благочестивых свидетеля, которые видели проникновение полового члена

          Из сунны пророка Мухаммада известно несколько случаев, связанных с прелюбодеянием. В первом случае пророк Мухаммад приказал забить камнями еврейку(по её же Воле), совершившую прелюбодеяние, сославшись на закон Торы[3]. Во втором случае женатый мужчина из племени Бану Аслам совершил прелюбодеяние и четырежды засвидетельствовал против себя. Этот человек также был забит камнями.
          Ответить
          • > и четырежды засвидетельствовал против себя

            Именно поэтому я за «беспорядочное нажимание всех клавиш, когда программа зависла».
            Ответить
          • > четыре надёжных, благочестивых свидетеля
            > четырежды засвидетельствовал

            Какой лайфхак )))
            Ответить
            • А считается ли прелюбодей надёжным и благочестивым? Или пока не доказано — не пидарас и можешь свидетельствовать?
              Ответить
              • Ну видимо атомарно переключается, когда все пруфы собраны.
                Ответить
                • Мне кажется, это не так должно работать, если рассматривать проблему в рамках темпоральной логики. Я бы эту ситуацию объявил UB сомнительной транзакцией.
                  Ответить
                  • Ну, они по-быстрому камнями и закидали, чтобы парадоксов не было.
                    Ответить
          • > пророк Мухаммад приказал ..., сославшись на закон Торы

            - удобно
            Ответить
        • > будет смертельно голоден и не найдет дома еды

          Ну это просто такой намёк, что место женщины у плиты.
          Ответить
    • Пиздец! Поскорее бы оттуда всю нефть выкачали и эти арабы стали жить как им и положенно: в пустыне в дырках из глины.
      Ответить
    • > Как Фейсбук добрался до Аравии всего на второй год существования?
      интернет, прикинь

      https://www.cisco.com/c/dam/en/us/products/collateral/security/ios-flexible-packet-matching-fpm/product_data_sheet0900aecd8034bd93.doc/_jcr_content/renditions/product_data_sheet0900aecd8034bd93-1.jpg


      напоминает мне русачков которые удивляются чего это вдруг у всех в сирии HD камеры в то время как в богатейшей подзалупии на полную лопату блинов не хватает
      Ответить
  • Кстати гет в 2000 страниц на говнокодике проебали.
    Ответить
  • Помогите Снежинке стать программистом

    Есть у нас человек, назовём его Снежинка. Этот человек, сам того не ведая, создал довольно забавную задачу, которую я предлагаю вам решить. Сразу скажу, правильного ответа я не знаю. Чтобы подогреть ваш интерес, скажу, что Снежинка не одинок в своей проблеме – их там целый сугроб.

    Итак, Снежинка хочет стать программистом. Теперь несколько деталей.

    Кто Снежинка сейчас?
    Снежинка работает кодером – пишет код. Что именно написать, ему говорят в техническом задании, составленном достаточно подробно, с указанием имён таблиц, контекста исполнения, способов вызова, типов возвращаемых значений и т.д.

    Код, обычно, ему дают написать несложный и не важный. Причина – в особенностях Снежинки, которых две.

    Ограничение – гугл
    Снежинка родился со смартфоном в руке. Не будем давать оценку этому факту, лишь беспристрастно опишем последствия.

    Грубо говоря, Снежинка очень мало знает и умеет, т.е. у него почти пустая голова. Неплохо справляется с повседневными действиями по обслуживанию своего тела – завязывать шнурки, чистить зубы, одеваться, ходить, кушать и т.д. Немного умеет взаимодействовать с социумом, во всех его проявлениях – не 80lvl, но крайнего в очереди найдёт.

    Почти всё остальное Снежинка тоже может сделать, хоть и не знает, и не умеет. Потому что у Снежинки есть гугл – его, снежинкин, персональный резервный мозг, который хранит в себе всё, что может пригодиться в жизни. Раз есть такой прекрасный резервный мозг, основной можно не нагружать. Чем Снежинка и пользуется.

    Что важно: код Снежинка тоже пишет с постоянно включенным гуглом. Конечно, он уже запомнил, как сделать цикл, присвоить значение переменной или определить функцию, но всё равно не может обходиться без своего любимца.


    Уранец точно уже нашел работу?
    Ответить
    • святой грааль метушни найден!

      это же автоматизиуемо, достаточно в процессе парсинга шобло подгугливать конкретные сниппеты
      Ответить
      • > подгугливать конкретные сниппеты

        Вроде и плагин к студии был, который на стековерфлоу сниппеты ищет.
        Ответить
    • >Помогите Снежинке стать программистом
      А зачем?

      Что плохого в том, чтобы быть кодером, и находить готовые решения на phpclub?
      Ответить
      • > находить

        Кстати, человек умелый в основном занимался собирательством?
        Ответить
        • Это даже еще гомо эректус (человек прямоходящий) делал
          Ответить
            • Это переходный, от обезяны к прчмоходящему. Если верить Википедии то джавамены это питекантроп которые расшифровывается как обезьяна-человек
              Ответить
      • По мнению ряда учёных австралопитеки не брезговали и падалью, подбирая её за хищниками.
        Ответить
  • А почему Нидерланды считаются свободной зоной?

    Потому что у них варез, адалт и многие другие вещи не являются незаконными.

    Местные законы о суверенитете данных слишком хороши для русского человека, чтобы быть правдой. Тем не менее благодаря им, у вас никто не сможет изъять сервер без решения суда — в том числе для поиска доказательств в ходе расследования.

    Закон Нидерландов разрешает и то, что запрещено в других странах мира: контент «взрослой» тематики (адалт). В итоге услугами голландских дата-центров пользуются не только веб-мастера, но и те хостинг-провайдеры, которые зарабатывают на продаже абузоустойчивого хостинга — услуги, где вы имеете возможность размещать информацию любого характера и быть спокойным относительно того, что хостинговая компания сможет без предупреждения удалить её при первой же жалобе. В качестве «информации любого характера» может выступать не только адалт, но и варез, фарма, дорвеи, спам. В Голландии размещаются порностудии в онлайн. Там размещаются онлайн-казино. Ну, в общем, всё, что запрещено во всех остальных европейских странах, всё хостится в Голландии.
    Ответить
    • Именно по этому я за "Нидерланды".

      Мне совершенно непонятно почему нужно запрещать взрослому человеку спать с проституткой, дрочить на порнуху и кушать капкейк с травой. Кому это мешает?
      Ответить
      • > спать с проституткой

        А потом он придёт домой спать с женой. Его жена потом пойдет спать с другим мужиком, а тот мужик... А потом окажется, что у проститутки был СПИД и все умерли.

        > дрочить на порнуху

        А управлять поездом когда?

        > кушать капкейк с травой

        А потом они садятся за руль и начинается кармагеддон.

        Но вообще да, Я тоже за «нидерланды» и «швейцария»
        Ответить
        • 1. Для этого существуют анализы и презервативы. Взрослые люди обычно сами решают эти проблемы
          2/3: А вот управлять поездом нельзя ни пьяному, ни сонному, ни под расслабляющими таблетками, но под травой. При входе на маршрут нужно проверять состояние. Летчикам так делают, например

          Да, Швейцария тоже хорошо: там, во всяк случае, не принимают толпы мухамедов
          Ответить
        • > А управлять поездом когда?
          Вот поэтому, прикрываясь правами инвалидов, и разрабатывают интерфейсы, управляемые одной рукой.
          Ответить
          • можно просто поставить кресло поближе к пульту, чтобы можно было тереться...
            Ответить
        • > А потом окажется

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

          Короче, это больше "моральные устои" чем технические проблемы.
          Ответить
          • Легально получится слишком дорого, нужно проводить полное медицинское обследование как минимум каждого клиента, чтобы он не притащил лишай, гепатит или туберкулёз, поэтому нелегальное будет процветать.
            Ответить
            • Достаточно справки от венеролога об отсутствии ЗППП, давностью не более двух недель. В любой поликлиннике бесплатно.
              Ответить
              • И что-то мне намекает, что из всяких тиндеров народ домой ещё больше говна на себе приносит...
                Ответить
              • > не более двух недель.

                > Инкубационный период заболевания составляет 3-7 дней и зависит от общего состояния организма пациента. К симптомам гонореи относят как общие для всех венерических заболеваний проявления, так и специфические.

                Клиентов придётся полностью обследовать перед каждым СЕХом, при этом проституток тоже придётся контролировать, чтобы они не утаили порванный презерватив или что-то типа того. И желательно запретить им заниматься СЕХом вне работы и контролировать это тоже.

                Пока не придумают реалистичных биороботов для СЕХа, легальную проститутошную организовать будет слишком накладно. А роботов мне очень жалко, в отличие от проституток, поэтому я такого не хочу.
                Ответить
                • > гонореи

                  Она же лечится, если я не туплю...

                  По сути, главное сифилис, вич и гепатит не подхватить. А остальное до свадьбы заживёт.
                  Ответить
                • > гонореи

                  Она же лечится, если я не туплю...

                  По сути, главное сифилис, вич и гепатит не подхватить. А остальное до свадьбы заживёт.
                  Ответить
                  • Лечится конечно, все микробы лечатся антибиотиками, это же не вирус
                    Ответить
                  • Лечится конечно, все микробы лечатся антибиотиками, это же не вирус
                    Ответить
                    • > все микробы

                      Ага, попробуй вылечить тот же туберкулёз. Его только в гибернацию загнать получается, емнип.
                      Ответить
                    • > все микробы

                      Ага, попробуй вылечить тот же туберкулёз. Его только в гибернацию загнать получается, емнип.
                      Ответить
                    • > все микробы лечатся антибиотиками

                      Ага, пока какой-нибудь мудак не бросит пить таблетки посреди курса, крутанув колесо эволюции.

                      Сравни какие были дозировки антибиотиков когда их изобрели и сейчас.
                      Ответить
                      • Вот за это нужно пиздить.

                        Сам себе прописал антибиотики, выпил две таблетки, вроде полегчало, остальные выкинул на помойку, развил резистентность, тебя отпиздили

                        Так должно быть
                        Ответить
                      • Вот за это нужно пиздить.

                        Сам себе прописал антибиотики, выпил две таблетки, вроде полегчало, остальные выкинул на помойку, развил резистентность, тебя отпиздили

                        Так должно быть
                        Ответить
                        • напиши эфиопскому знахарю, он тебя с удовольствием возьмёт в ВОЗ в Комитет по заёбыванию населения
                          Ответить
                          • Я ничего не имею против антибиотиков, они спасли миллионы жизней. Я против тех, кто ими неправильно пользуется
                            Ответить
                          • Я ничего не имею против антибиотиков, они спасли миллионы жизней. Я против тех, кто ими неправильно пользуется
                            Ответить
                              • Нет, я не фашист.
                                У меня даже есть друзья антибиотики (нормальные, не сио неправильные)
                                Ответить
                              • Нет, я не фашист.
                                У меня даже есть друзья антибиотики (нормальные, не сио неправильные)
                                Ответить
                                  • ну ты же написал про фашиста) Я вспомнил старое поверье, что любой ксенофобский текст должен начинаться словами:

                                    "Я не фашист, у меня есть друзья кавказцы/негры/евери, но я хочу сказать.." ну и далее следует понятно что
                                    Ответить
                                  • ну ты же написал про фашиста) Я вспомнил старое поверье, что любой ксенофобский текст должен начинаться словами:

                                    "Я не фашист, у меня есть друзья кавказцы/негры/евери, но я хочу сказать.." ну и далее следует понятно что
                                    Ответить
                        • Именно поэтому антибиотики больше не продают без рецепта. Доигрались.
                          Ответить
                          • потому что какой-то дурак зашёл в школу и застрелил 7 человек из антибиотика?
                            Ответить
                        • Именно поэтому антибиотики больше не продают без рецепта. Доигрались.
                          Ответить
                          • потому что какой-то дурак зашёл в школу и застрелил 7 человек из антибиотика?
                            Ответить