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

    0

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

    #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.ru/24063 (потёр пидор сракер) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: https://govnokod.ru/24815 (потёр пидор сракер) 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 https://govnokod.ru/25436 (потёр пидор сракер)
    #12: https://govnokod.xyz/_25471
    #13: https://govnokod.xyz/_25590 (потёр пидор сракер)
    #14: https://govnokod.xyz/_25684
    #15: https://govnokod.xyz/_25694
    #16: https://govnokod.xyz/_25725
    #17: https://govnokod.xyz/_25731
    #18: https://govnokod.xyz/_25762
    #19: https://govnokod.xyz/_25767
    #20: https://govnokod.xyz/_25776
    #21: https://govnokod.xyz/_25798
    #22: https://govnokod.xyz/_25811
    #23: https://govnokod.xyz/_25863
    #24: https://govnokod.xyz/_25941
    #25: https://govnokod.xyz/_26026

    Запостил: syoma, 27 Ноября 2019

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

    • показать все, что скрытоvanished
      Ответить
      • Кстати рядом. Я utp кабелем подвешивал горшок с цветочом к стене
        Ответить
        • Мы на UTP ёлку вешали чтобы не ебаться с подставкой.
          Ответить
          • Как вы бездарно тратите маьериал, кабели можно сдать на цветной лом и купить на полученные деньги спирт.
            Ответить
            • Перегнанный на березовых почках, хвоще и эстрагоне?
              Ответить
        • показать все, что скрытоvanished
          Ответить
          • Ну да. Я что-то и не подумал что это кабель вместо верёвки полезное. А эта хуйн бесполезна. Хотя зависит от дубовости, вдруг кабель настолько испорчен "задубел". Хотя все равно хуйня какая-то. Нальеш - оно же под тяжестью в любом случае уебется. Может это ручка чтобы не держать стакан, как браслет продеть и нести до поймы.
            Ответить
      • не отвеЧай yёбку.
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Почему в инстараке если попробовать сменить имя пользователя на [object Object] он перестаёт выдавать сообщение о допустимых символах и тупо пишет "не удалось схоронить"?
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Заебали со своей "Black Friday".
      Ответить
    • https://github.com/1024--/voretions/commit/95e09b3dc2126b170dd075fcc41af5cfb0a9f9ae
      Ответить
    • https://cs10.pikabu.ru/post_img/big/2019/07/13/12/156304891216253625.jpg
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • #define PITUH_1_COCK 11
      #define PITUH_2_COCK 22

      int i = 1;
      Как сделать мокрос GET_PITUH(i), чтобы возвращал в случае 1 - 11, а в случае 2 - 22?
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • https://youtu.be/KvWLVNmxHZQ
      Ответить
    • Реальный пример спама:
      «Привĕт! ŏчäрőвäтĕльнåя милåя кőшēчкå . Хŏчў пŏзнäкőмитĉя для ćвőбŏдных взåимŏтнőшēний, с пäрнĕм. Для вĕćĕлőгő őтдыхå дẏшőй и тēлőм.
      ĕсли вдрўг нĕ отвĕчäю, мĕня можно ўвидĕть ввĕдя в гẏглĕ VaPamiza тåм мы смŏжем пőŏбщäться»

      Или вот ещё реальный пример:
      «Салют! Милая, подтянутая, раскованная девчонка. Хочу познакомиться со страстным и нежным парнем для регулярных свиданий. Можно с жèнатым. Чистоплотность и опрятность важны.. Нŷ а, меня легкõ найти в гŷгôле, если забить Assiralita там мõжèм пòoбщаться»

      Кобенация двух идей:
      1. Надстрочные символы, чтобы основной текст было трудно отфильтровать.
      2. «Секретное» слово, по которому в «Гуголе» находится ровно одна ссылка.

      Ничего не напоминает?
      Ответить
    • https://pbs.twimg.com/media/ELbHZRaX0AAVtbA.png
      Ответить
    • Сайт «аэроэкспреса» не даёт вводить email с русскими буквами. Ещё одно подтверждение, почему заводить почту на пуникодном домене - ССЗБ.
      Ответить
    • У разработчиков одного из самых популярных веб-серверов Nginx прошел обыск.

      https://meduza.io/feature/2019/12/12/u-razrabotchikov-odnogo-iz-samyh-populyarnyh-veb-serverov-nginx-proshel-obysk-vozmozhno-on-svyazan-s-pretenziyami-ramblera

      Что найти пытались?
      Ответить
      • Можешь привести реальный пример, когда находили именно то, что искали?
        Ответить
      • Исходники nginx.
        Ответить
        • Мне кажется, они искали полмиллиона рублей мелкими купюрами (если это не фейк, конечно):

          https://pbs.twimg.com/media/ELn7F0wXUAMB6Xh.jpg
          https://pbs.twimg.com/media/ELn7F0zXUAAl3rb.jpg
          Ответить
          • > пол миллиона рублей
            Зачем им искать эти копейки? Неужели более интересные цели уже закончились?
            Ответить
            • Я несколько знаков потерял. В документе речь об убытке в 50 миллионов рублей.

              Я не знаю, чем сейчас живёт «Рамблер». Поисковую систему закрыли, соцсеть закрыли («Рамблер-Планета», кстати, могла бы конкурировать с «ВК»), price.ru продали, сервис рекламы («Бегун») продали.

              Что у них вообще осталось? Lenta.ru?

              Возможно, «nginx» — это их последняя надежда заработать.
              Ответить
    • показать все, что скрытоvanished
      Ответить
      • У пэхапэшников тоже четыре руки. Передними руками мы набираем программу, а задними держимся за ветку. Именно поэтому я за «PHP».
        Ответить
    • Если у меня есть std::map<int, Pituh>, то законно возвращать из функции указатель на Pituh, если я не буду менять при этом карту?
      Pituh* get(int id) {
          return &map[id];
      }
      for (x : get(2)->jaitsa) {}
      Ответить
      • Если не менять — законно. Если менять — то надо курить Стандарт на тему инвалидации ссылок на элемент.
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Пиздец эти ваши "NVMe" греются, хоть кулер из линолеума вешай...
      Ответить
    • https://pbs.twimg.com/media/EL0TJSJX0AAqtMi.jpg

      Именно поэтому я за „PHP“.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Как дела?
      Ответить
    • Топ 10 ошибок в проектах C# за 2019 год:
      https://www.viva64.com/ru/b/0698/

      Десятое место: "Запутать всех"
      Девятое место: "Бесконечное рядом"
      Восьмое место: "Попробуй, найди"
      Седьмое место: "Просто недоглядели"
      Шестое место: "Код документирован", – говорили они
      Пятое место: "Индексируй меня, немедленно!"
      Четвёртое место: "Всего-то доллара и не хватило"
      Третье место: "Выхода нет"
      Второе место: "По порядку становись!"
      Первое место: "Доверяй, но проверяй"

      Топ 10 ошибок в проектах Java за 2019 год:
      https://www.viva64.com/ru/b/0699/

      Десятое место: знаковый byte
      Девятое место: два в одном
      Восьмое место: решение и его последствия
      Седьмое место: создание файла из ничего
      Шестое место: очень странная логическая ошибка
      Пятое место: вот это поворот!
      Четвертое место: а исключения выйдут погулять?
      Третье место: кручу, верчу, новую маску получить хочу
      Второе место: Порядок инициализации
      Первое место: копипаст-ориентированное программирование

      Топ 10 ошибок в проектах C++ за 2019 год:
      https://www.viva64.com/ru/b/0700/

      Десятое место: "Какая у нас ОС?"
      Девятое место: "Кто первый?"
      Восьмое место: "Опасность побитовых операций"
      Седьмое место: "Путаница в переменных"
      Шестое место: "В C++ свои законы"
      Пятое место: "Что есть конец строки?"
      Четвертое место: "Магия числа Пи"
      Небольшое лирическое отступление
      Третье место: "Неуловимое исключение"
      Второе место: "Незакрытые HTML-теги"
      Первое место: "Неуловимые стандартные функции"
      Ответить
      • > Топ 10 ошибок в проектах Java за 2019 год:
        >Десятое место: знаковый byte

        А там что, есть беззнаковый byte?
        Ответить
      • > Незакрытые HTML теги
        > c++

        Шта?
        Ответить
        • Мокросы:
          static QString makeAlgebraLogBaseConversionPage() {
            return
              BEGIN
              INDEX_LINK
              TITLE(Book::tr("Logarithmic Base Conversion"))
              FORMULA(y = log(x) / log(a), log<sub>a</sub>x = log(x) / log(a))
              END;
          }
          Разворачивается в такую питушню:
          https://import.viva64.com/docx/blog/0700_Top_10_C++_Mistakes_2019_ru/image6.png

          В «Пивас» зачем-то добавили проверку валидности «HTML» в строковых литералах.
          Ответить
      • B3_SHARED_API void b3ComputeProjectionMatrixFOV(float fov, ....)
        {
          float yScale = 1.0 / tan((3.141592538 / 180.0) * fov / 2);
          ....
        }


        Ха. 265 же.
        Ответить
        • И перед восьмёркой пропущена пятёрка. Хотя про это уже мало кто знает, а вот 265 благодаря «Лурочке» знают многие.
          Ответить
    • https://habr.com/ru/post/481276/
      Как страшно жить
      Ответить
      • показать все, что скрытоvanished
        Ответить
      • Какой скилл )))
        Ответить
      • >> И вот однажды (где то в 2001 году) эти самые родственники, дарят нам компьютер «Байт»(советский аналог ZX Spectrum 48k).

        Зачем? Зачем? Зачем «Спектрум» в 2001 году?

        >> Узнав, что я поступил, те самые родственники которые подарили мне «Байт», подарили мне новый компьютер со следующими характеристиками: одно-ядерный Intel Celeron 800 Mhz, 64 Mb оперативной памяти, 14 Gb жёсткий диск, встроенное видео с разрешением 640 x 480 и 16 цветов.

        Зачем 640 x 480 и 16 цветов на машине с «Целероном 800»? На ней даже «Windows 95» без пердолинга не запустится (ей нужно 800×600 и 256 цветов). Даже древние модели S3 поддерживали Truecolor и разрешения 1024×768, 1152×864, 1280×1024 и даже 1600×1200 (правда, кобенации разрешения и количества цветов упирались объём ОЗУ видеокарты).

        >> разрешение стало 800 x 600 (ограничение монитора)
        Где они взяли такой монитор? Это был ЖК из первых моделей? Или они пытались разогнать чудом выживший VGA до SVGA?
        Ответить
      • >> Выйдя на улицу, я почувствовал покусывания в ногах, закатав колоши, я увидел кучу блох (14 штук). Изучив квартиру, я обнаружил, что они обитают в определенном месте в доме, которое находится далеко от комнаты, где я сплю, но чтобы выйти на улицу, я должен пересечь их логово. В общем, большую часть времени я находился в безопасной комнате (и блох на мне действительно в это время не появлялось), а когда нужно было выйти на улицу, я быстро пробегал через блохастую комнату, иногда даже выходя на улицу не подцепив ни одной блохи, но чаще всего 1-2 все же цеплялись.

        Какой хардкор )))
        Ответить
      • method (#Some) foo(a String, b `String, c ~String, d :String)
        //this нельзя использовать
        //a можно только читать
        //в b можно заменить любой символ, но нельзя присвоить новую строку или изменить длину строки
        //c может присвоить новую строку и изменить длину строки, но нельзя изменить символы в уже переданной строке
        //d можно изменить, что угодно


        Зачем? Зачем? Сложно, ничего не понятно.
        Ответить
        • Мутабельные строки не нужны.
          Ответить
          • Строки не нужны. Мутабельность и немутабельность — это всё из анскильной скриптушни. Царям нужен массив.
            Ответить
            • Ройоны, кварталы, жилые моссивы
              Ответить
            • Мутабельность не нужна.

              Кстати, как вообще пишут на языках, в которых нет разграничения прав доступа вроде const в C/C++?

              Впрочем, в C/C++ такая проблема тоже остаётся. Передаю я кому-то какую-то питушню со знаком const, а потом эту питушню изменяю. И на что мне потом рассчитывать? Они зачем-то изменят поведение из-за того, что моя питушня случайно изменилась? Они как назло не изменят поведение из-за того, что скопировали питушню и не знают, что я её изменил? Как вообще можно писать на языках с мутациями?
              Ответить
              • > Передаю я кому-то какую-то питушню со знаком const, а потом эту питушню изменяю.
                Обычно «const T &» — это «дай я гляну одним глазом на твою питушню, а потом делай с ней что хочешь». Если тебе нужно отдать свою питушню — это «T &&».
                Ответить
                • Не, ну вот есть MVC. Там надо передавать по ссылке питушню, которая меняется в то время, как на неё смотрят. И ещё много примеров взаимодействующей питушни.
                  Ответить
                  • Ну да, тут могут быть непонятки. В общем случае, если объект следит за изменениями переданной питушни, надо это как-то явно указать (помимо заметки в документации, конечно). Какое-нибудь там viewOfPeetoshnya или что-то в этом духе.
                    Ответить
            • Точно так!

              >Царям нужен массив
              В крайнем случае Царь выделит страницы в page directory с флагом R.
              Или проверит флаг Dirty, что страницумассив меняли.

              Но это всё ненужные абаракции для анскильных питухов.
              Ответить
        • Да ты просто анскильный.
          Ответить
        • > this нельзя использовать

          А зачем он тогда?
          Ответить
      • >> Это просто пугает. Кому это нужно, зачем?

        ААААА!!!
        Ответить
      • > Свой подход я со временем выработал сам и старался всегда его придерживаться(хотя иногда меня заносит и я забываю его использовать).

        > Подход заключается в следующем: я представляю, что существует библиотека со всеми возможными типами и функциями, кроме одной, той самой которую мне сейчас надо написать. Я пишу эту недостающую функцию (используя всю мощь функций и типов из выдуманной библиотеки), затем запускаю компилятор и если не хватает типа, создаю его, а если не хватает функции, то эта функция становится той самой которую мне необходимо написать. Сразу скажу, что сейчас я изменил свой подход, и вместо представления о том, что в библиотеке есть функции и типы, я представляю, что там есть классы и методы (даже если язык не объектно ориентированный). Когда я закончил компилятор, разумеется в нем было куча ошибок. Я начал поиск и исправление ошибок, но из-за большого количества возможностей(дженерики, параметры аргументов функций, классы типов, функции высшего порядка), ошибок было крайне много, а из-за подхода который я использовал при разработке, изменение одной функции могло приводить к изменению большой группы функций. Долгое время исправляя ошибки(а к слову говоря, больше чем искать ошибки, я ненавижу только писать юнит тесты), я наткнулся на ошибку для исправления которой необходимо переписать 60% кода.

        Какой багор )))
        Ответить
        • http://agatcomp.ru/Reading/humour/LO_EVM2/PROGRAMMIROVANIE_SNIZU_VVERH.shtml

          > Многие западные программисты утверждают, что прежде чем начинать писать программу, необходимо время на обдумывание алгоритма, а некоторые даже призывают вникнуть в суть задачи, которую предстоит решать. Категорически не следует интересоваться постановкой задачи до момента получения объектного модуля программы. Помните, что программирование - это искусство, поэтому любые лишние знания только ограничивают вашу фантазию. Начинайте писать текст программы задолго до того, как Вам сформулируют техническое задание, и Вы получите прекрасную возможность сделать жизнь вашего руководителя (и свою) гораздо разнообразнее и интереснее (Например, в момент получения ТЗ Вы можете возмутится: "Представляете, сколько теперь придется переделывать?!").
          >
          >= Никогда не составляйте заранее блок-схему программы. =
          >
          > Во-первых, это проще и быстрее сделать, когда программа уже написана. Во-вторых, неосторожно оставленная на столе блок-схема дает вашим врагам и завистникам возможность понять, что Вы собираетесь делать. Помните, что никто кроме Вас не должен разбираться в вашей программе. И если Вы никак не можете избавиться от дурной привычки рисовать блок-схемы, то зарубите себе на носу:
          >
          > = Чем больше структура программы соответствует ее логике,
          > тем меньше Вы стоите как программист. =
          Ответить
          • https://zxpress.ru/article.php?id=7478 вот нормально отформатированная версия. 1983 год
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • https://zxpress.ru/article.php?id=10951
                >а PC - это круто только тогда, когда карман
                с деньгами неимоверно трет ляжку.

                вот я говорю: писюки для богатых дураков

                настоящие программисты используют спектрум
                Ответить
                • У меня компьютер появился в 2001-м году. «Спектрум» тогда купить было уже негде, разве что у коллекционеров за бешеные деньги. «IBM PC» же можно было найти на помойке или по дешёвке купить на рынке б/у железо, оставшееся после апгрейда или после списания.

                  Вот видите, какой Путин хороший, при нём у меня комп появился.
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • По твоей ссылке какая-то новомодная фигня для 1999-го года: 16-мегабайтная видеокарта, UDMA66/100, SDRAM PC100/133, K6-2, Duron, винчестеры на 45 ГБ.

                      Народ тогда ещё донашивал 80486 (а кто-то и 80386, о, боже), 1-мегабайтные видеокарты, UDMA/33, SIMM FPM и EDO, винчестеры на гигабайт, а то и меньше. Я в 2003-м такое старьё видел даже в организациях.

                      Пруфа, что в те годы можно было купить «Спектрум», я так и не увидел.
                      Ответить
      • А вообще чел довольно адекватен - взял LLVM (и потом сишку) в качестве бекенда, а не стал ваять всё снуля.
        Ответить
        • И зря. LLVM и сишечка ограничивает пространство возможностей, в LLVM биткоде все затачивалось под традиционную питушню со стеком, стекфреймами и адресами возвратов. Под какой-то особый процессор с кучей мелких ядер (https://en.wikipedia.org/wiki/Systolic_array например) все надо переделывать
          Ответить
          • > особый процессор

            Дык там поди и особый язык и подход к разработке надо...
            Ответить
    • Какой бароп
      https://habr.com/ru/company/globalsign/blog/481318/
      Ответить
      • >Если найдено совпадение, пароль из базы данных высылается на введённый адрес.
        Ахаха
        Ответить
      • >> Проверил через сайт http://sandbox.onlinephpfunctions.com, что если версия php меньше 7.3.5, то коллизия не проявляется.

        Сломали, пидоры. Именно поэтому я за «PHP 5.x».
        Ответить
      • http://isitblockedinrussia.com/?host=https%3A%2F%2Feng.getwisdom.io%2Fa wesome-unicode%2F

        IP 159.203.61.1
        Decision 27-31-2018/Ид2971-18 made on 2018-04-16 by Генпрокуратура.

        This block affects IP 159.203.0.0/16.

        Опять ебучая «Телега»?
        Ответить
        • Ебучая генпрокуратура
          Ответить
          • Почему-то под блокировку опять попал сайт околокомпьютерной тематики. Так Генпрокуратура борется с хакерами? Типа если я не прочитаю статью про уязвимость, основанную на тонкостях обработки «Unicode», то и их сайт не смогу взломать? Security by obscurity? Зачем? Зачем?
            Ответить
    • Фраер, выходи. Не бойся, не тронем.
      Ответить
    • https://cs11.pikabu.ru/post_img/big/2019/12/18/2/1576629896144751921.jpg
      Ответить
    • Кококой питух )))
      https://cs11.pikabu.ru/post_img/big/2019/12/19/12/1576787022142639503.jpg
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Гуртовщики мыши.
        Ответить
      • показать все, что скрытоvanished
        Ответить
        • У меня идея: впихнуть ЖК-матрицу в корпус от кинескопного монитора. Тогда свободное пространство корпуса можно забить ещё чем-нибудь полезным.
          Ответить
      • Российская разработка:
        https://pbs.twimg.com/media/EEwCfcTXkAE9Y02.jpg
        Ответить
        • А нескучные обои там есть?
          Ответить
          • Там самые нескучные обои в мире — круглые. И для программирования тоже весело, там наверное полярные координаты используются.
            Ответить
            • Наверняка там радиально-круговая развёртка, как на индикаторе кругового обзора станции обнаружения целей. И пиксели кривые. Зато поворот изображения на произвольный угол относительно центра экрана выполняется безо всякой тригонометрии тупо добавлением смещения к развёртке по углу.
              Ответить
              • > Наверняка там радиально-круговая развёртка, как на индикаторе кругового обзора станции обнаружения целей.

                Настоящие цари хотят напрямую управлять лучом осциллографа из ассемблера, для максимальной эффективности
                Ответить
                • https://habr.com/ru/post/313218/
                  Ответить
                  • Похожий метод вывода изображения у графопостроителей, но на графопостроителе рисовать проще, потому что тут можно сжечь люминофор, если двигать луч большой яркости слишком медленно или слишком часто по одному месту.
                    Ответить
                    • Petrovi4_UA> Секунд 5 пытался стереть полосочку грязи с первой картинки векторного дисплея.
                      frog> Это к сожалению не грязь, а повреждение люминофора с внутренней стороны…

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

                    https://youtu.be/9n6I1KPxOfE
                    Ответить
                  • ААААА! Самоделка из осциллографа и ЦАП:
                    https://habr.com/ru/post/65477/
                    Ответить
                    • https://www.youtube.com/watch?v=aMli33ornEU - используется ЦАП звуковухи
                      Ответить
                      • Интересно. Ультразвуковую развёртку звуковухой, конечно, не сделаешь. Да и на выходе звуковухи наверняка стоят фильтры шума на конденсаторах, потому и линии так искривляются.

                        На X и Y осциллографа подаются соответственно левый и правый канал «звука»?
                        Ответить
                        • > Ультразвуковую развёртку звуковухой, конечно, не сделаешь

                          Ну вообще звуковуха вполне может выдавать ультразвук, т.е. частоту выше 20000 Hz. Частота дискретизации в 96000 Hz это позволяет.

                          > Да и на выходе звуковухи наверняка стоят фильтры шума на конденсаторах, потому и линии так искривляются.

                          Это можно обойти, проапгрейдив звуковуху

                          https://www.youtube.com/watch?v=GIdiHh6mW58 - Oscilloscope visualization of the files made by Pekka Väänänen using DC-coupled modified soundcard and some techniques to straighten polygons. This picture do not shake and has more clear view.

                          http://www.modularsynth.ru/en/2014/06/15/gigaporthd_dc_coupling/ -
                          ESI Gigaport HD DC-Coupling Mod

                          http://www.daqarta.com/dw_ggll.htm - Simple Sound Card Unipolar DC Modification

                          > На X и Y осциллографа подаются соответственно левый и правый канал «звука»?

                          Ну видимо да, а как еще?
                          Ответить
                  • показать все, что скрытоvanished
                    Ответить
        • Смех смехом, а проекты «Windows 96» и «Windows 97» были. Но вместо них нагородили OSR и OSR2.
          Ответить
        • В мультике ещё граммофон странный: с ручным приводом, но при этом с ламповым усилителем. Лампы от динамки питаются что ли?
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • показать все, что скрытоvanished
        Ответить
      • Не. Автор — дебил, статья — говно.
        > Лично я не вижу особой разницы между записью method(object) и object.method
        Охуеть. «Питон» уже сто лет ругают (и правильно делают) за нечитаемые портянки вида list(map(filter())), а автору нравится.

        >> Динамические определения классов в общем случае:
        > не дают модульно тестировать. Правильно отработавший в тесте кусок кода может выдать ошибку при работе целой системы, и никак вы от этого не защититесь в рамках CPython;
        Пиздец дебил. Семь лет стажа, нихуя не понимает, зачем нужно «модульное тестирование», что такое «интеграционные тесты» и почему первое никак не может заменить второе.
        > создают большие сложности оптимизации. Объявление класса не дает вам гарантии по поводу фактической работы класса.
        То-то я и вижу, как в «JS», в котором вообще нет никаких «классов», одни «словари» без каких-либо гарантий, на данный момент один из (если не самый) мощнейших скриптовых оптимизаторов.
        > не состыковываются с параллельным выполнением кода. Например, тот же multiprocessing работает с копиями определений классов, и если вы не дай бог измените описание классов в одной из копий, то ваше приложение рискует развалиться.
        А если в любимой автором сишечке прочитать пятый элемент у int[4], то развалиться рискует вообще всё. Ему с таким страхом выстрелов в колено надо на «Java» писать.
        Ну и ещё: какое, нахуй, параллельное выполнение кода в языке с GIL? Нахуя использовать для CPU-bound параллельных вычислений совершенно не предназначенный для такого язык?

        > Ну а пока что наличие генераторов в коде не дает возможности для оптимизации, параллелизации, и тестирования.
        Ебать аутист.

        > ошибка «'tuple' object does not support item assignment» на фоне успешного выполнения операции
        Вот это вот реальный багор, чуть ли не единственный на всю статью.
        Ответить
        • >> создают большие сложности оптимизации. Объявление класса не дает вам гарантии по поводу фактической работы класса.
          > То-то я и вижу, как в «JS», в котором вообще нет никаких «классов», одни «словари» без каких-либо гарантий, на данный момент один из (если не самый) мощнейших скриптовых оптимизаторов.
          Так он потому один из мощнейших, что создаются большие сложности оптимизации.
          Если бы использовался подход вроде C/C++, которые всё валят на программиста (UB? сам виноват! Тормозит? Сам виноват!), мощнейшие компиляторы не были бы нужны.
          Ответить
        • > Ну и ещё: какое, нахуй, параллельное выполнение кода в языке с GIL? Нахуя использовать для CPU-bound параллельных вычислений совершенно не предназначенный для такого язык?
          Потому, что python - язык общего назначения. Почему бы не написать на нём быструю питушню?
          В общем-то и можно, для этого разные питуизаторы вроде Cython сделали. А для параллельности - пакет multiprocessing.
          Ответить
        • >> ошибка «'tuple' object does not support item assignment» на фоне успешного выполнения операции
          > Вот это вот реальный багор, чуть ли не единственный на всю статью.
          Да он там реально поехавший!
          Хотя, по-хорошему, надо было запретить индексацию и слайсинг для туплов, чтобы не сбивали с пути.
          Ответить
        • показать все, что скрытоvanished
          Ответить
        • показать все, что скрытоvanished
          Ответить
      • > Си глубоко полиморфичен, то есть, позволяет однообразно обрабатывать разные типы данных. Например, вы можете превратить указатель на double в указатель на char, скопировать байты через последний указатель, потом взять эти байты как указатель на double и работать дальше с ними как с числом.
        Еба-а-а-ать… Этому психопату в дурку надо.

        > Огромное количество проблем в программах на чистом питоне возникло из-за того, что присваивание питоне абсолютно слепо — оно просто берет любую ссылку-объект на вход, и присваивает эту ссылку левому выражению.
        О-ху-еть. Шизик-аутист взял классический скриптовый язык и жалуется на то, что он скриптовый.
        > Например:
        >>> a = [1, 2, 3]
        ...
        >>> a = '15'
        ...
        >>> for i in map(lambda x: x*2, a):
        >>> print(i)
        11
        55
        > Ожидается вывод 2 4 6
        А-а-а-а-а, блядь, помогите, у меня тупость из экрана полилася!

        > PyPy, а также аналогичные V8 для JavaScript и LuaJIT, испытывают проблемы с выводом типов до выполнения программы, потому они предпочитают конкретизировать типы уже после выполнения кода.
        1024--, bootcamp_dropout, расскажите, как вам хуёво живётся с тем, что «V8» испытывают проблемы с выводом типов до запуска «V8»?

        Короче, автор слишком тупой анскиллябра, чтобы высрать годное обсирание «Питона».
        Ответить
        • > 1024--, bootcamp_dropout, расскажите, как вам хуёво живётся с тем, что «V8» испытывают проблемы с выводом типов до запуска «V8»?
          Честно говоря, начинает задалбывать. Ещё лет через 10 могу постареть и полюбить статическую типизацию как любят её взрослые дяди.
          Ну, хотя, может быть что-то такое впилят в V8 будущего.

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

          Более того, есть же проблема останова и всё такое. Бесконечное число ошибок даже в божественном хаскеле сейчас не отлавливается на этапе компиляции. А значит компиляторам есть куда расти в любых языках, и когда-нибудь мы достигнем такого развития компиляторов, когда им будет пофиг, что за язык на входе, ведь всё будет упираться не в типы, которые компилятор более-менее легко рассчитает, а в запутанность алгоритма. Как в криптографии главная тайна была перенесена из алгоритма в ключ, так и в компиляторостроении главная сложность для анализа будет перенесена из правил языка в структуру конкретной программы.
          Ответить
        • >расскажите, как вам хуёво живётся с тем, что «V8» испытывают проблемы с выводом типов до запуска «V8»
          Справедливости ради, если использовать JSDoc в качестве разметки типов(в основном входных параметров функции), то это в сочетании с TS features for JS который есть во многих IDE позволяет достаточно бодро вывести типы. Понятное дело что это не дает никаких гарантий и в общем смысле херня, но дурацкие опечатки это снижает заметно, а это для меня был один из основных источников ошибок в js
          Ответить
        • >>> a = [1, 2, 3]
          ...
          >>> a = '15'

          А тут автор не знает, чем отличается присвоение в императивных языках от приравнивания в декларативных. В последних, даже если есть желание писа́ть в императивном стиле, обычно изменять переменные нельзя, можно только создавать новые.

          Неужели автор пришёл из декларативных языков?
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • ВАЖНАЯ ИНФОРМАЦИЯ:
      https://pbs.twimg.com/media/EMvszKpVUAA8qpv.jpg
      Ответить
    • https://vk.com/video-39243732_456242669
      Ответить
    • Помните якутского скульптора? Он в очередной раз насрал:
      https://kp.ru/share/i/12/11206031
      Ответить
      • А я думал, 2020 — год металлической крысы, а она оказывется совсем не металлическая...
        Ответить
      • Этоиз чьих какашек?
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • У «Сардины Целиком» году примерно в 2010-м было разделение трафика на внутрисетевой (там был сервер «Direct Connect», торрент-трекер, форум, блогоплатформа, фотохостинг и ещё несколько сайтов типа «ag.ru» (откуда пошёл мем «XYNTA») и даже «Апорт») и внешний. Причём это было во всех городах, где действовала «Сардина», даже в Москве.

                Вот для примера что было доступно в Питере (большая часть этих ресурсов сейчас уже недоступна):
                https://homenet.beeline.ru/index.php?/topic/188836-локальные-ресурсы-билайн-санкт-петербург/

                А ещё у «Яндекса» в те же годы был сервис local.yandex.ru: «Яндекс» предлагал провайдерам напрямую подключиться к своему собственному IX, тогда для абонентов все ресурсы «Яндекса» будут считаться внутрисетевыми.

                http://web.archive.org/web/20100831103609/local.yandex.ru/


                Из призывов Локальной сети Яндекса
                1. Пользователи интернета! Подключайтесь к провайдерам, которые сотрудничают с Яндексом

                ПОЧЕМУ?

                Так дешевле и быстрее

                Все службы Яндекса будут доступны вам по той же цене (а на безлимитных тарифах — на той же скорости), что и внутрисетевые ресурсы. Это касается и таких «тяжелых» сервисов, как Фотки, Картинки, Видео1 и Карты. Единственное исключение — сервис обмена файлами на Народе, где не гарантируется высокая скорость доступа.

                2. Провайдеры! Сотрудничайте с Яндексом

                ЗАЧЕМ? ЗАЧЕМ?

                Это способ привлечь клиентов

                Программа «Локальная сеть» поможет привлечь новых абонентов, предоставив им без дополнительных затрат большее количество сервисов. Рост внутреннего (бесплатного или льготного) трафика стимулирует потребление внешнего. Присоединившись к программе, вы получите:

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

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

                  Вот тебе реальный пример:
                  https://support.ihc.ru/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=110&nav=0,3


                  Запрещается размещение следующих видов сайтов:

                  • Любых сайтов, нарушающих действующие законодательство России, Украины, а также международное законодательство.
                  • Сайтов, нарушающих чьи-либо авторские права (warez, crack, serial, видео архивы, а также ссылки на такие ресурсы).
                  Скрипты типа Rapid Leech, массовый хостинг картинок и файлов, торрент-трекеры и торрент-клиенты.
                  • Сайтов с порнографическим контентом (в том числе со ссылками на такой контент). Т.к. чёткой границы между порнографией и эротикой нет - ситуация решается на усмотрение администрации.
                  • Сайтов про заработок в сети, пирамиды и т.п.
                  • Сайтов, рекламирующих лекарственные и наркотические вещества.
                  • Сайтов, рекламируемых спамом.

                  И это для VPS/VDS, даже не для шаред-хостинга.
                  Ответить
              • показать все, что скрытоvanished
                Ответить
                • Тогда расскажи мне как знаток, что такое внутренний трафик для сайта.
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Раньше был у меня крутой провайдер. Он имел собственную локалку между клиентами. Свой DC++ клиент между своими где объем базы составлял около 1,2 петабайт данных, мне и торрент не нужен был раньше. Имел свои игровые сервера где регулярно конкурсы были. Была фича, которая без проблем могла выкачивать из блядообмеников Депозитфайлас, турбобита, Юнитбайта и другого говна за буквально секунды, после то что ты скачал появлялось в сети локальной сети и можно было скачать уже себе.
                        А после, запахло жареным. Локальный обмен прикрыли, прикрыли сайт где чуваки просто так анонсили и раздавали по типу торрент трекера только для DC++, закрыли ту фичу по выкачке, Сервера прикрыли. И в итоге продались РТ. Теперь у меня пинг с Японией 200-300 место моих 20-50, регулярные разрывы и сука ютуб фулл ХД не грузится! Хуилы!
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Да не. Тут мне кажется проблема в другом. Тут просто трафик перенаправлен на какой-то дальний сервер. Потому что пинг 200-300 с китаем, японией, кореей когда я живу и вижу с окна эти государства. При этом у меня такой же пинг с какой нибудь Францией. Да и в том что телекомуникационную линию с 2002-2003 Дальсвязевкую не меняли когда скоростя были 100кбит максимум. И в итоге вечерком я вижу что мои обещанные 100МБит не грузят нихуя. Во что-то уперается и в хуй знает во что. Но в скором времени перейду наверное на местную фирму, которая собственные каналы связи под землей держит и не арендует у РТ.
                            Ответить
                            • В суевреной пидорашке это запрещено же с 1 ноября.
                              Ответить
                              • Что запрещено? Что теперь нельзя собственную магистраль иметь, а арендовать исключительно у монополиста рт? Хуйню не неси.
                                Ответить
                                • Уёбку ответил.
                                  Ответить
                                • нельзя собственную магистраль через железный занавес
                                  специально для тебя выделил
                                  Ответить
                                  • Выдели жирнее и красным цветом и размером сто.
                                    Как бы можно.
                                    Ответить
                                    • Нахуй ты уёбку отвечаешь, уёбок что-ли?
                                      Ответить
                                      • Я, ТОРТ, находясь в здравом уме и твёрдой памяти, торжественно заявляю: Уёбку ответил.
                                        Ответить
                                    • А вот хуй знает, прямо сейчас не нашел этого положняка, есть только обязательство вступить в юденсрат в формате XML. Но поскольку в рашке нет ни законов ни судов то положняк обязательно будет, так что оптический линк со свободным траффиком до япони не окупится.
                                      Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                      • >> Так что в 2006 году в Томске вполне мог быть внутрегородской траффик дешевле "внешнего"

                        В начале 2010-х даже в Москве некоторые интернет-провайдеры при нулевом балансе счёта пускали только в свою локальную сеть, в которой кроме сервера «DC++» и торрент-трекера мог быть ещё доступ к нескольким сайтам. Были ещё небезлимитные тарифы, в которых внутрисетевой трафик не тарифицировался.

                        Прикинь, в Москве, где можно кинуть провод до M9 или M10.

                        http://govnokod.ru/26050#comment519161

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

                      У нас берут плату за роуминг не только внутри страны, но и внутри сети одного ОПСОСа, потому что формально филиалы ОПСОСа в разных регионах зарегистрированы как отдельные фирмы.

                      Официально плату за роуминг в РФ запретили. Уже раз в пятый (точно не помню, в какой, я с сбился со счёту). ОПСОСы просто переименовали роуминг, теперь он у них как-то по-другому называется, чтобы обойти закон.

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

                      А ещё у нас сетевые магазины зачастую регистрируют как отдельные фирмы, чтобы платить меньше налогов. Если повесить филиал магазина на индивидуального предпринимателя, то можно заплатить 6% налогов вместо 13%.
                      Ответить
          • В Узбекистане внешний трафик тоже дохулион стоит, и есть внутренный интернет (Tas-ix называется). На "yandex.uz" даже есть специальный поиск по ихнему интернету.
            Ответить
            • В РБ у «Белтелекома» было разделение на внешний и внутренний трафик. При этом «Белтелеком» является и интернет-провайдером, и хостингом.

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

              Погугли «фубля», т. е. «byfly». Сейчас «гостевой доступ» отменили.

              https://forum.onliner.by/viewtopic.php?t=2997515&start=460
              Ответить
            • показать все, что скрытоvanished
              Ответить
              • нашел тебя в женском туалете, проверь...
                Ответить
              • збекистоннинг Санкт-Петербургдаги бош консули этиб Алишер Бабаев тайинланди. Бу ҳақда Ўзбекистон ташқи ишлар вазирлигида маълум қилинди. 
                Бунгача ушбу лавозимни Жаҳонгир Иргашев эгаллаган.
                Эслатиб ўтамиз, Санкт-Петербургдаги бош консулхона 2018 йил мартида очилган.
                Ответить
              • Пожалуйста:

                https://www.olx.uz/i2/obyavlenie/kulangi-zotiga-100-kareyskiy-ID1X4Md.html
                Ответить
              • Вот из фергана:
                https://www.olx.uz/i2/obyavlenie/makien-par-tulek-horoz-ID1Xbpn.html
                Ответить
              • Ну что, купил, или дорого?
                Ответить
              • >> tas-ix это их точико обмен траффик ?

                «TAS» расшифровывается не как «точико», а как «тошкенто».

                Кстати, вот что гуглится:
                https://pikabu.ru/story/_6680798
                Ответить
                • Офтопик. Всплыло в рекомендуемых:
                  https://pikabu.ru/story/yandeks_takoy_yandeks_4518661

                  «Яндекс-Маркет» пытается бороться с ворециями и зарубает нормальные отзывы.
                  Ответить
                • Я уеду жить в Ферган
                  Мне Хороз будет сниться
                  Я уеду туда, где большая ферма
                  Может быть навсегдааа
                  Ответить
              • Ну как, купил?
                Ответить
            • узбекистанопроблемы
              Ответить
    • Рекурсия в заголовках новостей:

      https://pbs.twimg.com/media/EM9SG0XWoAAvULc.jpg
      Ответить
    • https://youtu.be/AGwePVCPedk
      Ответить
      • Почему петухи за этим странным окошком всё время передразнивают?
        Ответить
    • Петух перешёл с «Хабрахабра» на «Пикабу» https://pikabu.ru/story/sprosite_itana_pochemu_gravitatsionnyie_ volnyi_ne_oslablyayutsya_s_rasstoyaniem_ tak_kak_gravitatsiya_7141962
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • https://cs13.pikabu.ru/post_img/2020/01/03/4/1578028259192338585.png
      Ответить
      • Зачем на одном дисплее совместили пуксели и семисегментное говно?
        Ответить
      • На «Ideone» тоже можно изменить код, но не перезапускать (нажать «Save», а «Submit» не нажимать):

        https://ideone.com/nQhpi2
        Ответить
        • Наебалово.
          Ответить
          • Короче, слухай сюда. Ситуация такая: браузер настроен на точку доступа 127.0.0.1:1000
            По этому порту работает самописный прокси, который фильтрует запросы, шля нахОй рекламные. Браузер посылает данные в codepage 28591 = ISO-8859-1, но сервер почему-то хуярит кодировку.

            dt:=TIdMultipartFormDataStream.Create;
            		ARequestInfo.Params.NameValueSeparator:='=';
            		for I:=0 to ARequestInfo.Params.Count-1 do
            		begin
            			latin:=Latin1String(ARequestInfo.Params.ValueFromIndex[i]); // наигрязнейший хак, ибо нельзя заранее знать, в какой кодировке 
            			us:=utf8decode(latin);
            			ARequestInfo.Params.ValueFromIndex[i]:=US;
            		end;


            ...
            Ответить
          • А ты надеялся, что у них калькулятор, работающий на жопоскрипте, в котором []+5+7 === "57" ?
            Ответить
            • По теме ответь, жиголо.
              Ответить
            • Я про "Ideone".
              Ответить
              • %D0%94%D0%B0+%D1%82%D1%8B+%D0%BF%D0%BE%D 0%B5%D1%85%D0%B0%D0%B2%D1%88%D0%B8%D0%B9 !
                Ответить
              • Да. Поэтому если хочешь точно узнать, что выводит чужой код, нужно нажать кнопку «Fork», а потом «Run». Тогда выхлоп будет соответствовать коду.
                Ответить
                • а не попробовать ли+сызнова+++?
                  Ответить
                  • кодировочкопроблема была устранена.
                    Ответить
    • Нет, Вы видно не понимаете, какое полезное решение я создаю! От рекламы в браузере можно избавиться только фильтруя запросы - до того, как они попадут в браузер.
      Кто ещё предлагает такой подход? Касперскис? Адблок? Ни хуя! Адгвард? Да это первый шпион, драйвера какие-то ставит, и кстати, рекламу ни хуя не блокирует.

      касперский нагло запускает свои волосатые ручки вам в трусы. Ждите защиты, ага.
      Ответить
    • всем спасибо, все свободны.
      Ответить
    • https://pikabu.ru/story/igra_lomayushchaya_mozg_7144883
      Ответить
    • https://cs12.pikabu.ru/post_img/2020/01/04/6/1578129842155868185.jpg
      Ответить
    • https://habr.com/ru/post/482806/
      )))
      Ответить
      • >> гомофобия

        Есть же реальные примеры плохих программ, написанных пидарасами. Вот, например, гомосек написал «Sendmail», которым невозможно пользоваться. А натурал написал вполне удобный «Postfix».

        >> «Выдумал Питон Гвидо Ван Россум, он голландец, это многое объясняет, в Голландии легализованы лёгкие наркотики»

        Круче только Никлаус Вирт, написавший, что сразу видно, что «C++» придумали в Америке.

        >> На самом деле никакого Рика Гаско нет — переводчик и есть автор.

        А это уже отсылка к Борхесу и к Лавкрафту, которые, вероятно, первыми придумали ссылаться на несуществующие книги.
        Ответить
        • Ориентация никак не влияет на деятельность индивида. Если человек изначально гнилой, то и поделия его будут такими же. Яблочко от Кука недалеко укатилось...
          Кстати, слово "кук" в англоязычных странах - стойкий эвфемизм, означающий грубое "хуй"
          Ответить
        • показать все, что скрытоvanished
          Ответить
      • показать все, что скрытоvanished
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Эмбед чем-то отличается от десктопной? Другое дело CE/Mobile/Phone — там API действительно отличается, даже заголовки экзешников немного другие.
                Ответить
                • P.S. В CE всё не так: даже ярлыки в текстовом формате.

                  А вот десктопную «Windows XP» с помощью ключа реестра можно замаскировать под «Windows Embedded POSReady 2009» и получить обновления до апреля 2019.
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • А без этого патча когда перестали приходить обновления для XP? В 2014, когда закончилась «расширенная поддержка»?

                      Ну вот, похакав реестр, можно получить обновления за ещё 5 лет.

                      На всякий случай:
                      Windows Registry Editor Version 5.00 
                      [HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady] 
                      "Installed"=dword:00000001


                      Вдруг их ещё не удалили с сервера.
                      Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Сейчас посмотрим:

                    https://ru.wikipedia.org/wiki/Windows_Embedded

                    Оказывается, слово «embedded» входило в названия нескольких систем.

                    CE резко отличается от остальных. Там вообще всё несовместимо с остальными вариантами «Windows».

                    А вот Embedded Standard (включая Embedded POSReady), Embedded Enterprise, Embedded Industry по всей видимости отличаются от десктопной версии только лицензией (ну и набором компонентов по умолчанию). Из той же оперы Embedded Server.

                    Что собой представляет IoT, я пока не знаю.

                    Embedded Handheld, вероятно, является продолжением Mobile, которая является продолжением CE. Из той же оперы Embedded Automotive.

                    *****

                    Итого две линейки Embedded:
                    1. Сборки, совместимые с CE.
                    2. Сборки, совместимые с десктопной, но отличающиеся лицензией.
                    Ответить
              • показать все, что скрытоvanished
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Windows 3.0 и более древние работали в реальном режиме. Начиная с Windows 3.1, уже требуется защищённый режим.

                      На 286 не было 32-битного режима, именно поэтому Линукс на 286 в принципе нельзя было запустить. Перекомпилировать его под 286 тоже было нельзя, ибо он был рассчитан на модель памяти «flat» (без сегментов), а у 286 размер сегмента 64 килобайта. То есть на 286 требовалась поддержка софтом сегментированной модели памяти. «gcc» такую модель не поддерживает.

                      >> Работал в смысле запускался?

                      Угу. В вузе, в котором я учился, один пидарас на «четвёрки» с 4 МБ ОЗУ и с 8МБ ОЗУ (уже смешно; такой объём памяти был бы разумным для 286, но не для 486) поставил «Windows 95». Было видно, как рисуются окошки. «Ворд» было страшно запускать: если вставить в документ картинку или формулу в «Эквейшне», могло случиться OOM.
                      Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • У 286 помимо отсутствия страниц была другая проблема: не было адресации с 32-битными смещениями. Можно было составлять указатель из 16-битного селектора и 16-битного смещения (в реальном режиме линейный адрес получался тупо по формуле (selector << 4) + offset; в защищённом вместо сдвига бралась база из таблицы дескрипторов: LDT[selector] + offset).

                        Для сегментированной модели памяти нужна была поддержка компилятора. Все компиляторы C и C++ для такой модели содержали нестандартные расширения языка. Например, оператор :> для составления адреса из сегмента и смещения и макрос MK_FP, его заменяющий.

                        Работа с массивами, размер которых превышает 64КБ, на 286 была нетривиальной задачей. Нужно было использовать несколько сегментов и при итерации их вовремя переключать. Опять же в компиляторах (MSVC, Borland C и C++, Watcom C и C++ и т. п.) был страшный хак, который назывался «модель памяти Huge».

                        В «gcc» ничего из этого не было. Даже в недавно вышедшем «Sourcery CodeBench Lite for IA16 ELF» нет поддержки сегментированной модели памяти. Он способен генерировать только COM-файлы (напоминаю, что они не выходят за пределы 64 килобайт). Причём даже ковыряться в видеопамяти из такого COM-файла нельзя, ибо в «gcc» нет длинных указателей.

                        Прыщебляди соснули, короче.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Танненбаум — серьёзный человек, а Торвальдс — какой-то прыщавый задрот. Вполне логично, что Торвальдс что-то-там не осилил.
                            Ответить
                          • Я с ужасом вспоминаю «Турбопаскаль», который не поддерживал «Huge». У него фактически была модель памяти «Large», где все указатели были far, но итератора по сегментам не было. Для обработки массивов, превышающих 64 килобайта, код нужно было писать самому. В реальном режиме было довольно просто: заводишь переменную типа longint (32 бита), в которой хранишь линейный адрес, и разбиваешь линейный адрес на сегмент и смещение с помощью деления с остатком или с помощью сдвига. А в защищённом труднее, с помощью API операционной системы или DPMI для каждого последующего сегмента нужно получить селектор.

                            Чтобы с этим не возиться, обычно данные разбивали на куски, не превыщающие 64 КБ, и обрабатывали по частям.

                            Представляешь, как выглядела обработка графических файлов в DOS, в котором не было mmap/MapViewOfFile?
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • Оверлеи — это другое. Это когда модули кода подгружаются по необходимости. Модуль, состоящий из функций, ни одна из которых в данный момент не нужна, автоматически выгружается, и на его место подгружаются модули с функциями, которые в данный момент нужны.

                                Жопа будет, если ты придумаешь код, которому одновременно нужны функции изо всех оверлеев. Это возможно, если функции из оверлеев ссылаются друг на друга.
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • В «Турбопаскале» не было функции file_get_contents, в отличие от «PHP».

                                    Конечно, из файла можно было читать по кускам, но планировать загрузку должен был ты сам. Прочитал кусочек, обработал, Seek туда-сюда, прочитал следующий...
                                    Ответить
                                    • Приведи реальный пример, где тебе за "туда сюда планировал чтения кусочков" платили деньги.
                                      Ответить
                                  • К слову, в библиотеке «Turbo Vision» были потоки (streams) и коллекции, облегчающие это дело. Даже был TBufferStream с собственным кэшем, чтобы немножко ускорить частое чтение.
                                    Ответить
                          • Только что вот о чём подумал: LDT и GDT могли вместить до 8192 дескрипторов. 8К сегментов по 64К — это 512 М, т. е. полгига оперативки!

                            Если ограничить доступную ОС память половиной гига (для двушек этого хватило бы с запасом, ибо на них больше 16 М невозможно поставить в принципе), то можно заранее разбить всю память на сегменты. Правда, придётся думать, как реализовать защиту.
                            Ответить
        • показать все, что скрытоvanished
          Ответить