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

    −1

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

    #124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
    #125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
    #126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
    #127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
    #128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
    #129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
    #130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
    #131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
    #132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
    #133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
    #134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
    #135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
    #136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
    #137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
    #138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
    #139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
    #140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
    #141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
    #142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
    #143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
    #144: https://govnokod.ru/27972 https://govnokod.xyz/_27972
    #145: https://govnokod.ru/27996 https://govnokod.xyz/_27996
    #146: https://govnokod.ru/28008 https://govnokod.xyz/_28008
    #147: https://govnokod.ru/28049 https://govnokod.xyz/_28049
    #148: https://govnokod.ru/28087 https://govnokod.xyz/_28087
    #149: https://govnokod.ru/28136 https://govnokod.xyz/_28136
    #150: https://govnokod.ru/28157 https://govnokod.xyz/_28157
    #151: https://govnokod.ru/28209 https://govnokod.xyz/_28209
    #152: https://govnokod.ru/28217 https://govnokod.xyz/_28217
    #153: https://govnokod.ru/28232 https://govnokod.xyz/_28232

    Запостил: nepeKamHblu_nemyx, 07 Июля 2022

    Комментарии (702) 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.
      Остерегайтесь подделок. Берегите себя и своих близких. Кок!
      Ответить
    • #страйко_приди_оффтоп_нахуй_снеси
      #страйко_приди_оффтопера_прогони
      Ответить
    • Верх-Исетсткий райсуд Екатеринбурга вынес первый в России приговор по обвинению в совершении киберпреступления в игровой индустрии. Андрей Кирсанов обвинялся в продаже чипов и ботов для игр World of Tanks и World of Warships. Ему инкриминировали ч. 2 ст. 273 УК РФ (создание, использование и распространение вредоносных компьютерных программ). Суд приговорил его к двум годам шести месяцам ограничения свободы.

      По версии следствия, в 2014 году Андрей Кирсанов написал чит к игре World of Tanks, с помощью которого геймеры получали возможность автоприцеливания в наиболее слабое место брони противника. После этого он выложил программу в открытый доступ, а затем создал сайт Ciber Tank, через который начал продажу чита. Позднее он написал подобный чит для World of Warships. По оценке следствия, сумма ущерба от действий обвиняемого составила 670 млн руб. Добавим, что компания-разработчик игр Wargaming отказалась предъявлять требования к подсудимому.

      На судебном заседании Андрей Кирсанов раскаялся и признал вину. Он добавил, что создание им программы Ciber Tank было осуществлено в период с 2013 года по 2014 год. Поэтому, по его словам, за такое деяние, как создание вредоносной компьютерной программы, его не должны привлекать к уголовной ответственности из-за истечения срока давности. Государственный обвинитель запрашивал для него 1,5 года лишения свободы.
      Ответить
    • Блядь, вы когда-нибудь видели progressbar, который умеет назад откатывать прогресс?
      Ответить
    • "Наши коллеги из центра эмиссии придумали решение, близкое к гениальному, — реимплантация чипов банковских карт, то есть мы начали "выковыривать" чипы из карточек и вставлять их в новые карты", — рассказала Маклашина.

      За месяц накапливается около 375 тысяч неактивированных карт. Благодаря переустановке чипов Сбербанк уже сэкономил 2 млрд рублей.
      Ответить
      • Их еще можно на помойке найти.
        Ответить
      • Это гениально! Почему раньше никто не догадался?

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

        Я уже джватсать лет этого жду
        Ответить
    • https://zona.media/article/2022/07/07/donate

      Летом 2021-го в телеграме появился бот @donate, позволяющий телеграм-каналам легко собирать пожертвования от читателей. Постепенно им начали пользоваться владельцы многих каналов. Через год в телеграме стали доступны премиум-аккаунты, но оплатить их из России оказалось невозможно из-за санкций — и тут же появился @PremiumBot, позволяющий обходить ограничения. Оба бота производят впечатление связанных с администрацией сервиса, так что пользователи спокойно доверяют им свои данные. «Медиазона» решила присмотреться к ним внимательнее и выяснила, что формально оба бота связаны не с Telegram, а с казанским предпринимателем Дмитрием Еремеевым.

      ну как же так получилось-тооооооооо
      Ответить
      • напоминает
        https://www.facebook.com/ukcomedyfans/videos/a-bit-of-fry-laurie-doctor-tobacco/544630739312741/
        Ответить
    • https://habr.com/ru/post/675466/
      Как я перешел из нефтянки в IT за 1 год
      JavaScript* ReactJS*
      Что меня привлекало в IT? 
      * Необходимость постоянно учиться и развиваться. 
      Пиздец, он мазохист?
      
      * Личностное развитие. Хочется делать интересную работу с видимым результатом, понимая, что этим будут пользоваться.  
      Ёбанный рот, какая, нахуй, интересная работа с видимым результатом? 
      
      * Не привязан к месту работы. Возможна релокация в другой город или даже страну. 
      Ну ладно, валидный поинт.
      
      * Возможность быть причастным к новым открытиям и инновациям. 
      …Он совсем дегенерат? Новые открытия — это покрасить кнопочку в красный? Инновации — развести лохов на стильный «NFT»?
      
      * Незабюрократизированность, ровные демократичные отношения в коллективе и нет жесткой иерархии. 
      Пиздец, что он несёт?
      
      * Большое количество вакансий, говорит о высоком спросе на специалистов, что дает уверенность в завтрашнем дне. 
      Даю еблану бесплатный совет: вакансии грузчика есть всегда и в любом городе. Работай грузчиком — обрети уверенность в завтрашнем дне, так его растак.
      
      * Комфортные офисы, ДМС, обучение за счет фирмы и много другое. 
      Да-да, и кофе в постель.
      
      * Современные подходы к управлению рабочими процессами. 
      Ебланище их вообще в живую видел, эти современные подходы?
      
      * Карьерный рост и высокие зарплаты по сравнению с другими отраслями. 
      Ну да, как же в статье про айтишечку да без высоких зарплат™.
      
      * Результаты своего труда несложно увидеть и показать другим людям. 
      Ебучий ты дегенерат, нормальные люди на твои пиздорванские буквы в редакторе с тёмной темой разве что пальцем у виска покрутят.
      
      * Программисты – разносторонние, образованные, жизнерадостные и веселые люди, с которыми приятно работать.  
      Ой, блядь, финиш, нахуй.
      Ответить
      • Какой же ебучий, беспросветный пиздец. Невольно закрадывается сомнение: а не по джинсе ли от «Минцифры» этот хуесос решил просраться пропагандой? Помнится, практически с начала войны айтишечку стали пиарить на государственном уровне почти как службу в армии. Наводит на размышления.
        Ответить
        • Если это квакает, как утечка мозгов, и течёт, как утечка мозгов, это - утечка мозгов.
          Ответить
          • не отвечай уёбку, пися.
            Ответить
          • ой, ну и пускай катятся

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

        >> Личностное развитие. Хочется делать интересную работу с видимым результатом, понимая, что этим будут пользоваться.
        > Ёбанный рот, какая, нахуй, интересная работа с видимым результатом?
        Что не так? Ты написал сайт на PHP, поставил Яндекс метрику, смотришь на графики посещения и кликов и течёшь.

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

        >> Возможность быть причастным к новым открытиям и инновациям.
        > …Он совсем дегенерат? Новые открытия — это покрасить кнопочку в красный? Инновации — развести лохов на стильный «NFT»?
        Можно работать над интересной питушней, а не сайт на ReactReduz писать.

        >> Незабюрократизированность, ровные демократичные отношения в коллективе и нет жесткой иерархии.
        > Пиздец, что он несёт?
        Но ведь это правда. У нас в компании так.

        >> Большое количество вакансий, говорит о высоком спросе на специалистов, что дает уверенность в завтрашнем дне.
        > Даю еблану бесплатный совет: вакансии грузчика есть всегда и в любом городе. Работай грузчиком — обрети уверенность в завтрашнем дне, так его растак.
        Ну и как, много ты HR-на на грузчиков видел? Отдел по найму талантливых грузчиков?

        >> Комфортные офисы, ДМС, обучение за счет фирмы и много другое.
        > Да-да, и кофе в постель.
        А что не так? Айтишникам только жопу разве что не подтирают.

        >> Современные подходы к управлению рабочими процессами.
        > Ебланище их вообще в живую видел, эти современные подходы?
        Я видел.
        Ответить
        • > Айтишникам только жопу разве что не подтирают.

          так и ходим с грязной жопой
          Ответить
        • >Фреймворки на джаве устаревают каждый день.

          ты реально назвал жаваскрипт жавой???
          Ответить
      • >> Карьерный рост и высокие зарплаты по сравнению с другими отраслями.
        > Ну да, как же в статье про айтишечку да без высоких зарплат™.
        Хрю.

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

        >> Программисты – разносторонние, образованные, жизнерадостные и веселые люди, с которыми приятно работать.
        > Ой, блядь, финиш, нахуй.
        Не все, нов целом так.
        Ответить
      • Зато программирование позволяет сидеть на govnokod.xyz
        Я ради этого и программирую тащемто
        Ответить
        • Для этого и не нужно программировать. Вот посмотри на Сёму и Золотой_хуй.
          Ответить
          • Хуй ваще-то луашник и 1Сер, просто в последнее время увлёкся перцем

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

            Так что я ХЗ зачем хуй свалил, может у него в Артёме не так
            Ответить
            • я съебал с одной работы на другую. Потому что в ебанной деревне нихуя не платят.
              Ответить
              • Лучше расскажи, сколько спермы ты проглотил у шефоф-педерастов, работник хуев
                Ответить
            • В нашем "Артеме" еще хуже. Тоже приходят дауны никакущие или студентики которые тоже дауны. Выбора особо нет, с них мы требуем хотяб портфолио и знания любого ЯП. Если человек хоть что-то на своем ЯП умеет, то берем его на обучение 1С. А большинство уже коренных программистов - стараются съебать с этой деревни и работать где лишь бы больше платили.
              И вот кажется что все стремятся в МСК и Сбп, там должны быть крутые программисты со всех уголков рашки. Да хуй там, сколько не нарывался на работу с москвичами - ебанное дно просто. И не удивительно что в Фирма 1С - регулярно в каждом релизе - оставляет какую нибудь мину замедленного действия, например в ЗУП задокументировано уже больше 1 тысяч мин.
              Ответить
      • [quote]
        по специальности «разработка нефтяных и газовых месторождений» в 2009 году. На то время мне казалось, что это тот самый и единственный путь в прекрасное перспективное будущее. Где я смогу развиваться и расти не только как специалист, но и делать что-то полезное для общества
        [/quote]

        работать на Роснефть, помогать Сечину заработать денежек на виллу и Путину на новое оружие для специальной военной операции
        Ответить
    • https://www.theverge.com/2022/7/8/23199894/microsoft-block-office-vba-macros-default-roll-out-stopped
      Ответить
      • > theverge.com
        Кек.

        https://www.theverge.com/search?q=rittenhouse
        Vox, хуле...
        Ответить
      • >2022
        >VBA macros
        :)

        Но вообще я не удтвлюсь, если бизнес процессы фирмы "Vector" LTD в штате Техас ловко автоматизированы парочкой макросов в Excel
        Ответить
    • replace
                    Performs a nearly atomic remove/add on an existing node
                    id. If the node does not exist yet it is created.


      https://man7.org/linux/man-pages/man8/tc.8.html#TC_COMMANDS

      что такое nearly atomic?
      Ответить
      • Это как mostly peaceful, но в перелолизме.
        Ответить
      • Значит быстро-быстро работает, мамой клянус, персик сладкий
        Ответить
    • Ученые оценили влияние ковида на стоимость секс-услуг в Кении в первый год пандемии Секс с презервативом подорожал с 8 до 10 долларов, без него — с 10 до 12 долларов
      Ответить
    • https://nitter.fdn.fr/QuinnyPig/status/1545294828539260928

      https://sorry.about.computer/
      Ответить
      • это в питушню
        Ответить
      • > https://news.ycombinator.com/item?id=32028511

        какой лунь делает рейды из _одинаковых_ приводов???
        Ответить
        • Никто. Потому что если ты используешь несколько разных дисков, ты берешь худшее от каждого. Если ты делаешь raid 1 из двух дисков, один из которых сосет по латенси, а другой по пропускной способности, то массив у тебя страдает и от того, и от другого.
          Ответить
          • лолшто??:))


            вообще-то не делать RAID-1 из двух дисков одинаковой серии это прописная истина, примерно как не делать бизивейт в пользовательском коде, или не говорить девушке "твои сиськи лучше, чем у моей предыдущей".

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

            Смысл зеркала ровно в том, чтобы если у тебя сдох один диск, то второй бы выжил.

            Если ты сосешь по латенски или срупуту, то возьми рейд контроллер с батарейкой, и вруби write-back. У некоторых моделей есть даже cache на SSD для этого.
            Ответить
            • Сём, ну ладно тебе
              Ответить
              • прыщепитушок, давно мозоли грыз? Как там швабодка поживает?
                Ответить
            • > Диски одинаковой серии сдыхают одновременно из за багов в прошивке

              Которые получают широкую огласку, но сами по себе редкость

              > или физических дефектов

              Которые уже в свою очередь редко приходят синхронно
              Ответить
              • > сами по себе редкость
                Достаточно часто, чтобы твои вложения в ценность данных превратились в говно. Особенно если учесть, что в зеркальном наборе в контроллеры пойдут почти идентичные команды. И вообще это всё - не стоящее дело, немного денег добавить и будет пятый уровень.
                Ответить
              • ну вот ты и огласишь на весь интернет свой истошный вопль, когда все 100500 дисков у тебя обновременно развалятс
                Ответить
      • > https://sorry.about.computer/

        на одной из последующих страниц нашел инцидент, связанный с моей компанией -_-
        Ответить
      • >TripleCross is a Linux eBPF rootkit that demonstrates the offensive capabilities of the eBPF technology.


        так и надо доблоебам, запускающим левый код в ядре
        Ответить
    • https://neilmadden.blog/2022/04/19/psychic-signatures-in-java/
      Ответить
    • https://nitter.fdn.fr/__femb0t/status/1519941344990539777
      Ответить
      • А зачем среди хипстоты классический кадиллак 66 года?
        Ответить
    • https://pydantic-docs.helpmanual.io/blog/pydantic-v2/

      Питухоновцы пишут свои тулы на расте, потому что питухоговно тормозит

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

        А сишник как писал на си тридцать лет назад, так и пишет. На знакомом языке, со знакомыми концепциями, и вместо постоянной борьбы с borrow checker, escape analysis и прочим GC, просто делает код, и течет.
        Ответить
        • > и течет
          Тонко
          Ответить
          • нуда, нуда, сишка течет памятью. Только почему-то код на сишке работает на четырех мегабайтах и дает полноценную ось, а ваши джаваскрипты в атоме хотят гиг чтобы кнопочку нариросвать
            Ответить
            • Но из этих 4х мегабайт 16 байт уже утекли!
              Как так жить?!
              Ответить
              • а зачем ты виртуальную память использовал?
                Ответить
              • У меня и больше утекало, пока я сидя в кустах любовался на школьниц.
                Ответить
            • > дает полноценную ось
              – полноценную для 1987-го года?
              Ответить
      • Напитон, 3_14dar!
        Ответить
      • 5. Rename master to main, seems like a good time to do this
        Ответить
        • In the context of git, the word "master" is not used in the same way as "master/slave". I've never known about branches referred to as "slaves" or anything similar.

          On existing projects, consider the global effort to change from origin/master to origin/main. The cost of being different than git convention and every book, tutorial, and blog post. Is the cost of change and being different worth it?

          PS. My 3 projects were using your lib and got broken thanks to the renaming.

          PS. PS. I'm glad I never got a master's degree in college!


          Не стоит забывать, что на дереве с крепким транком можно линчевать негров!
          Ответить
    • > clang and gcc can’t even agree on the ABI of __int128 on x64 linux.

      https://gankra.github.io/blah/c-isnt-a-language/
      Ответить
      • > C’s ABI is “simple”, in that there is effectively a one-to-one correspondence between a function you write, and the symbol that gets vomited out into your binary.

        В кои-то веки соответствующий топику лексикон

        https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-function-abi
        Ответить
      • Какой-то пустопорожний пиздеж о херне, о которой и так в курсе те, кому есть до этого дело.
        Ответить
        • это потому что в контроллерах надо писать под один таргет и нет ABI?
          Ответить
          • Соглашение вызовов там какое-то есть, но тебе на него примерно похуй
            Ответить
      • дурак доебался до сискола прыщей
        дурак даже не знает, что у си есть свой API для работы с файлами
        дурак на основе этого сделал вывод, что си -- это не язык

        >You Can’t Actually Parse A C Header
        >Anyone who spends much time trying to parse C(++) headers
        дурак путает С и С++

        >C Doesn’t Actually Have An ABI

        конечно нет, дурачок, потому что си портирован на десятки платформ, и у каждой свой ABI
        А еще в стандартной библитеке си нету парсера JSON


        Пиздец ламеры лезут туда, куди их не приглашали
        >I'm known for my work on Rust, Swift, and Homestuck.



        а, ну понятно, типичный растопиздеж
        Ответить
        • > дурак доебался до сискола прыщей

          Это не сисколл, сисколл это int 80h.

          > дурак на основе этого сделал вывод, что си -- это не язык

          Там говорится о том, что си давно вылез за пределы себя и является де-факто интерфейсом для foreign functions. Со всеми вытекающими неопределенностями.

          > дурак путает С и С++

          Можешь заменить на C/C++, если тебя смущает такое написание

          > конечно нет, дурачок, потому что си портирован на десятки платформ, и у каждой свой ABI

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

          > I'm known for my work on Rust, Swift, and Homestuck.

          Насколько понял, речь идёт прямо про участие в разработке этих языков.
          Ответить
          • >Это не сисколл, сисколл это int 80h.
            open это именно что syscal, а int для сисколов давно уже никто не использует. Учите матчасть, ну.

            > и является де-факто интерфейсом для foreign functions. Со всеми вытекающими неопределенностями.

            Какими неопределенностями? Если ты собираешь что-то под конкретную платформу, то ты знаешь ABI. Никто не линукет бинарь для доса с бинарем для arm64.

            >всё завязывается на всякие платформные int
            Уже примерно с 99-го года существует uint8_t и друзья.

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

            Разумеется, потому что это библиотека на СИ

            Пиши ее на пхп, и не думай ни о чем.

            Существует два способа реализовать одинаковый ABI везде:
            * Ограничить число платформ до одной-двух
            * Сделать виртуальную машину или JIT, и превращать код в конкретную платформу

            Очевидно, ни один способ для си не является приемлимым
            Ответить
            • The open call is standardized by the POSIX specification for C language

              Это сишная обертка над сисколлом, а не сисколл.
              Ответить
              • Понятно. Не знаем, как работают прыщи.

                В ядре есть официальный список сисколов, его можно частично узнать набрав ``man 2 syscalls``. Там есть open.

                Вот прямо колоночка называется "syscall", а в ней значение "open".

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




                POSIX специфицирует какие сисколы должно иметь ядро, потому open есть и в прыще, и в FreeBSD, и в маке.

                Однако в сишной библиотеке есть функция fopen, которая более высокоуровневая (это часть сишного API) и она есть на всех си.

                К примеру, на винде сискол open быть не обязан, а fopen обязан.


                *С прерываний перешли на sysenter
                Ответить
                • Тот факт, что сискол вызывается через обертку, мешает звать обёртку сисколом.
                  Ответить
                  • Пойди пожалуйста вот сюда https://www.kernel.org/doc/man-pages/.

                    Там есть внизу mail list, зарепорти им баг, что у них в syscalls(2) обертка open случайно называется сисколом

                    И остальные 300 оберток тоже случайно сисколами назвали, тоже напиши
                    Ответить
          • Поясню свой багор.

            Си не стандартизирует ABI: в си у тебя просто есть функция petushok, в которую ты передаешь две kurochka.

            Если на твоей платформе 64 регистра, и курочки туда влазят, то конечно передавай их через регистры.
            Если у тебя стековая машина (как JVM или CLR) то передавать ты будешь стеком.

            В стандарт си нельзя внести понятие "передача через регистр RAX" потому что тогда си не будет работать на ркеальном режиме x86, alpha или MIPS: там нету такого регистра.

            Это конечно приводит к тому, что код на си переносим на уровне исходников, а не на уровне бинарей (в отличиее например от .class файлов или .dll файлов dotnet с оопкодами под виртуальные машины).

            Ругать за это си так же бессмысленно, как ругать PHP за отсутствие функции для мигания лампочками на клавиатуре: PHP не обязан работать только на машинах с лампочками на клавиатуре, как и си не обязан работать только на машинах с регистром RAX.

            Изначально в си даже типы не имели конкретного размера: int это просто наиболее удобный машине тип. Но потом узнали, что иногда размер имеет значение (например для форматов файлов или для передачи по сети) и завезли всякие unit8_t.

            Конечно, если ты хочешь интероп с сями, ты должен компилировать код на конкретной машине конкретным компилятором (в x64 зоопарк стал чуть меньше, а раньше вообще каждый компилятор дрочил, как хочет).

            Но это не проблема си: это ровно то, зачем си и был сделан. Именно потому Goвно запускает gcc для интеропа с сями, в расширения для Python должны собираться ровно тем же компилятором, каким собран python.

            Если хочется кроссплатформенности -- ну пиши на скриптовом языке тогда, или на джаве.

            Так что разумеется для интеропа с сями надо знать И процессор И компилятор. Но без этого си был бы непортабелен, и UNIX пришлось бы с ноля писать под каждую архитектуру
            Ответить
    • Рак пожирает современный мир. В современных ноутах нету RJ45. Ну а зачем?
      В гейропке нету UNII-3. Ну а зачем?
      В итоге ты делишь три с половиной канала с девятнадцатью сосесдними сетями.
      Тебе в квартиру привезли оптику еа на гигабит, и вот она, вот она, на хую намотана, пока ты не купишь ethernet адаптер на usb3 (иначе кушай 100 мегабит)

      Почему всё в мире через жопу?
      Ответить
      • что такое рак, я знаю, недавно ел

        что такое RJ45 и UNII-3 я не знаю. это из трансформеров?
        Ответить
        • Это чем седые бумеры пользуются. Кушай своё смузи спокойно.
          Ответить
          • Ты чё, пёс! Смузи в стаканчиках именных продают, его пьют вообщето.
            Ответить
        • и почем у вас раки? а сёмга?
          Ответить
          • раки дорого
            Ответить
            • У нас, пока рыбнадзору нормальные катеры и камеры не закупили, были дешёвые крабы.
              Ответить
              • вот помылась, поссала
                рыба сразу вся всплылал
                --благо нету рыбнадзора
                а тоб не избежать позора!
                Ответить
        • AvRack?
          Ответить
      • Там полосу на 6 ггц открыли. И то ли с седьмого, то ли аж с шестого стандарта можно занимать 320мгц. А во всех современных ноутах стоят ах201/211.
        Ответить
        • а пока письку посасать, да?
          Ответить
          • почему? купи просто себе оборудку с 6ггц, оно уже далеко не первый день в продаже.
            Ответить
            • ну конечно
              поменяй себе сетевуху в рабочем ноуте
              выкини kpn box 12
              Ответить
              • kpn же как раз и давал роутеры шестого поколения, нет?

                ты никогда не менял сетевуху в ноуте? её к счастью перестали распаивать.
                Ответить
                • >kpn же как раз давал
                  Разумеется, он давал 11ax. Только вот тебе список каналов
                  https://i.postimg.cc/LXgmQgSW/image.png

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

                  Сетевуху разумеется менял, но я не собираюсь это делать в рабочем ноуте, и кстати я не знаю -- не придется ли еще менять антенну)

                  Я просто еще раз убежлдаюсь, что ноутбуки не нужны: толкьо десктоп по витухе

                  Он не тротлится и в нем всегда есть проводной езернет
                  Ответить
                  • > Он не тротлится и в нем всегда есть проводной езернет
                    А, ещё прикол: на некоторых роутерах по умолчанию доступ к админке возможен только с определённого физического ethernet порта.
                    Удачи настроить его с недобука без разъёма.
                    Ответить
                    • Сейчас такое осталось только у серьезного оборудования типа микротов

                      Производители консьюмерского шлака отлично понимают, что у 99% питух ничкего нету кроме айпада впринципае
                      Ответить
                  • там нет 160гц вообще в принципе?
                    Ответить
                    • Файке, а куда пропал участник "хомячок?"
                      Ответить
                    • есть, но только для пятерки
                      и воткнуть его некуда

                      6 начитается с 5965
                      а там все кончается на 5600
                      Ответить
      • короче я раскарячилося на 52-м канале ширной 80. Делю его с каким-то лунем, получил пол гига
        Ответить
      • Сём, ну купи себе нормальный роутер уже, заебал.
        Ответить
        • я себе купил как-то, а рус-ня мне насоветовала прыщепрошивок и роутер окирпичился
          рус-ня говно
          и прыщи говно

          я лучше на помойке найду беслпатнр
          Ответить
      • Возьми mdk3 и сгони.
        Ответить
      • > В современных ноутах нету RJ45.

        Ты наверно про 8P8C
        Ответить
        • Верно

          Второй раз в жизни вижу человека, который знает, что это не RJ45, а 8P8C
          Первый раз это видимо тоже был ты
          Ответить
          • Ты третий раз удивляешься тому, что j123123 правильно назвал разъём.
            Ответить
            • P.S. Я попытался определить, кто притащил 8P8C на «Говнокод»:
              https://govnokod.ru/26585#comment540757

              Странно, но более старых комментариев найти не могу.
              Ответить
        • Можно кусачками сделать чтобы было.
          Ответить
          • Если резко не раздвигать губок, то постепенно анус привыкает.
            Ответить
    • Что такое kvn и нахуй он нужен?
      Ответить
    • зырьте даже какую проститутку со дна подняли

      https://www.youtube.com/watch?v=EYGFmGwS2Xs
      Ответить
      • Да это же тотьяныч
        Ответить
      • мамку его откопать еще надо, и тоже направить в лоно пропаганды войны. Чего добру пропадать то?
        Ответить
        • Мамка мелкобуржуазное калякала, мне попадалось в сборнике вместе с нормальными авторами.
          Ответить
      • Каких-то 10 лет назад он бугуртел, что на ренджровере хуй нацарапали, а теперь и сам добровольно клеит на лобовуху.
        Ответить
    • Вообще я думал что это пиздец-оффтоп, хотя эту новость сложно классифицировать:

      New working speculative execution attack sends Intel and AMD scrambling
      Both companies are rolling out mitigations, but they add overhead of 12 to 28 percent.

      Retbleed can leak kernel memory from Intel CPUs at about 219 bytes per second and with 98 percent accuracy. The exploit can extract kernel memory from AMD CPUs with a bandwidth of 3.9 kB per second. The researchers said that it’s capable of locating and leaking a Linux computer’s root password hash from physical memory in about 28 minutes when running the Intel CPUs and in about 6 minutes for AMD CPUs.


      https://arstechnica.com/information-technology/2022/07/intel-and-amd-cpus-vulnerable-to-a-new-speculative-execution-attack/
      Ответить
      • > leaking a Linux computer’s root password
        Прышебляди соснули. В винде, небось нужно должен утечь хэш, зашифрованный ключ хеша, полугиговый образ памяти ядра и бинарники текущих версий библиотек, потому что разные версии несовместимы.
        Ответить
        • NTLM хеш прекрасно воруется из памяти

          Я админ машины
          Ты зашел ко мне по RDP без кербероса
          Хеш хранится в памяти lssas чтобы ты мог ходить с ним по сети

          всё, я знаю твой пароль

          Причем если пароль доменный, а ты доменный админ, то пизда тебе, ушастый
          Ответить
          • А в прыщах нет никакого lsass. Бамп отсосу прыщеблядей!
            Ответить
            • в прыщах можно спиздить пароль вошедшего через логер ки

              не ходи со своим паролем на левые машины
              Ответить
      • МИЛЬДОНИИ ВОЗВРАЩАЮЦА СО СПЕКТРУМАМИ
        Ответить
      • > Researchers from ETH Zurich have named their attack Retbleed because it exploits a software defense known as retpoline, which was introduced in 2018 to mitigate the harmful effects of speculative execution attacks.
        Ёбанные дебилы.
        Ответить
        • На картинке вы можете видеть как инженеры пытаются убрать мельтдаун
          http://i.imgur.com/FT926.jpg
          Ответить
        • Щас ещё защиту введут, через лет 5 её поломают, навернут ещё, и будет у нас обратное развитие, когда каждые 5 лет процессоры 10% полезной работы начинают тратить на хуйню для предотвращения хуйни из-за хуйни.
          Ответить
          • да нахуй вообще этот спекулейтив экзекьюшен, вырубите его уже наконец
            Ответить
            • Всё так

              В 386 не было никаких спекуляций, и начитавшись Фога можно было весьма точно посчитать что сколько займет
              А теперь что? Никто ничего не гарантирует, хуй знает что где как исполняется, как в тумане всё
              Ответить
              • Угу. И процедура Delay из модуля Crt на это полагалась.

                Потом конвейер привёл к шагу между некоторыми инструкциями в 1 такт вместо нескольких тактов (кстати, конвейер появился на 486 или 386?).

                Потом на Пентиумах стало два конвейера (U-pipe и V-pipe), и некоторые инструкции стали выполняться параллельно (почти, как на MISD/MIMD-процессорах вроде Итаниума, гы).

                А потом эти спекуляции...
                Ответить
              • И, кстати, спекуляция не бесплатная. Больше ключей в процессоре => процессор сильнее греется.
                Ответить
                • а мы, как вы знаете, за environment обоями и руками
                  Ответить
                  • "Но совершенно очевидно, что будущее за водой, ветрами и приливной энергией. Топить будем, вероятнее всего, водородом."

                    Адольф Гитлер.
                    02.08.1941, вечер, Волчье Логово.

                    Записано Генри Пикером
                    Ответить
          • Поэтому я за контроллеры. Там это неактуально т.к. исполняемый код заранее известен, фиксирован и делает известно что в реальном и едином адресном пространстве
            Ответить
          • А правда, что если у меня на сервере запускаются только доверенные программы (где не может быть эксплоита), то мне нахуй не нужны замедляющие патчи? Или я чото не понимаю?
            Ответить
            • Если у тебя там будет запускаться некая сетевая хрень (например браузер), то под него может существовать эксплоит. Если у тебя комп от сети полностью изолирован (и от какой-либо передачи файлов наружу и вовнутрь, чтобы например кто-то не подсунул тебе на флешку какой-то там файл для экселя который спиздит через уязвимость некие твои персональные данные, запишет их на флешку, а потом эту флешку кто-то засунет в комп, подключенный к инету, и некоторая хуйня их передаст в инет), тебе конечно же никакие замедляющие патчи не нужны.
              Ответить
              • Ну допустим у меня сервак c Nginx+Apache+PHP+MySQL+phpmyadmin и я не исполняю пользовательский код, то мне не нужны патчи?
                Ответить
                • Ну как бы... Может быть так, что будет некоторая дыра в phpmyadmin и через него можно будет выполнить произвольный машинный код, и через выполнение произвольного кода можно попробовать как-нибудь спиздить рутовый пароль из-за каких-то багов в самом процессоре.
                  Ответить
                  • Ну то есть eval($_GET["code"]) приведёт не к доступу от юзера, под которым запущен пхп, а к рутовому доступу? Как-то уже похуй, наверное )))
                    Ответить
                    • Вообще-то не похуй, с рутовыми правами кто-то может скрытно насрать руткитом тебе в систему и долго ждать, ты допустим можешь разместить в какой-то момент какие-то ценные данные на том сервере, и в этот момент их могут спиздить.
                      Ответить
                • Если у тебя есть 100%-е математическое доказательство, что в твоем софте нет никаких багов, и что никто его кривожопо не настроил (т.е. например, что никто не открыл полный доступ к / через ftp-сервер), то можешь хоть всю хуйню под root запускать
                  Ответить
            • Напоминло как пыхеры завезли пых в адресное пространство индейца (mod_php) потому что CGI тормозил, и внезапно оказалось, что на шаред-помойке 100500 луней не отличимы от друга, и пришлось завозить сейф мод
              Ответить
    • However, the YY_FATAL_ERROR() implementation provided in the GRUB2 software package is:

      #define YY_FATAL_ERROR(msg)                     \
        do {                                          \
          grub_printf (_("fatal error: %s\n"), _(msg));     \
        } while (0)


      но зачем?
      Ответить
      • YY — это из Яка/Бизона что ли? Они там парсерами и лексерами упоролись?
        Ответить
        • да, у груба свой язык

          такой сложный, что его генерят по конфигу. GNU это переусложненное говно
          Верните мне мою Лило
          Ответить
          • > GNU это переусложненное говно

            Подтверждаю.
            А можно ли ждать простоты от софта, который в название вынес Not Unix.
            Ответить
      • Самое вкусное ты не показал.

        Rather than halting execution or exiting, it just prints an error to the console and returns to the calling function. Unfortunately, the flex code has been written with the expectation that any calls to YY_FATAL_ERROR() will never return. This results in yy_flex_strncpy() being called and copying the source string from the configuration file into a buffer that is too small to contain it.

        Детский мат.
        Ответить
        • Сишникам не хватает контрактного программирования. Во-первых, нужно запретить макросы, потому что они приводят к путанице. Во-вторых, нужны функции с атрибутом «never return», которые не будут компилироваться до тех пор, пока не сделаешь внутри функции безусловное завершение программы.
          Ответить
          • здесь бы не спасло, здесь просто пропущен return
            Ответить
            • Я понял. return в макросе YY_FATAL_ERROR либо в ифе спас бы ситуацию. Вероятно, разработчики не договорились, куда его ставить.

              Кстати, а перед ретурном там ничего сделать не нужно, чтобы было корректное завершение функции?
              Ответить
          • самое атвратительное, что в си вообще не обязательно ничего ретёрнить

            все на твоей совести, если конечно стену не включишь
            Ответить
      • YY это лексер насрал?

        Потому что еслп у тебя фатал, то что еще делать? тролько орать

        В случе пажара -- гарите
        Ответить
        • Файк не показал самое вкусное: https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/

          #define YY_DO_BEFORE_ACTION \
              yyg->yytext_ptr = yy_bp; \
              yyleng = (int) (yy_cp - yy_bp); \
              yyg->yy_hold_char = *yy_cp; \
              *yy_cp = '\0'; \
              if ( yyleng >= YYLMAX ) \
                  YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
              yy_flex_strncpy( yytext, yyg->yytext_ptr, yyleng + 1 , yyscanner); \
              yyg->yy_c_buf_p = yy_cp;


          Код после ифа ожидает, что возврата из вызова YY_FATAL_ERROR не будет.
          Ответить
      • ответ: потому что долбоёбы всё ещё экономят на скобках

        https://stackoverflow.com/a/257424
        Ответить
        • так вроде это первое правило макроеба: всегда ставь скобки, иначе будут совсем необычные ошибки
          Ответить
          • А ещё мне нравится do { ... } while(0) в макросах, похожих на функции.
            Ответить
            • P.S. Ах, тут как раз про do { } while(0).

              Я подумал про ((x)).
              Ответить
            • жескткий хак, да

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

              Страус вроде писал, что импользуйте const и шаблоны, это все таки чуть более безопасно.

              Но вообще мы все конечно за кокогенерацию в момент компиляции, причем кодогенерация должна быть написана на том же самом языке, и работать с кодом, как с данными. Я даже кое-какие языки знаю, которые так умеют))


              Ах жа, отдельный пиздюль любителям проврять ОС или компилятор и делать if.

              Разносите код в разные файлы, собирайте нужное, и линкуйте
              Ответить
              • Macros are evil.

                Я бы вообще выпилил макропроцессор.

                Генерировать исходный код удобнее любой скриптушнёй: PHP, Питоном, Руби, да хоть Перлом.

                Сишный макропроцессор — источник трудноуловимых ошибок. У меня программа по-разному компилировалась, когда я менял порядок #include, потому что хедеры переопределяли под себя одинаковые символы.
                Ответить
                • cpp это глобальная помойка с глобальной видимостью, да.

                  Выпиливать его нельзя, но лучше сгенерить отдельный .c файл внещней питушней, и потом слинковаться с ним, чем выписывать кренделя на 200 строк на макросне.

                  Это еще в асме был в нем какой-то смысл, а в си уже почти нет
                  Ответить
        • Тут со скобками всё нормально. Тут забыли про выход.
          Ответить
    • Почему, БЛЯДЬ, в 2022 году ещё не придуман перформансный компилируемый язык программирования, который включает в себя всё хорошее их других, и исключает всё говно?
      C++ - говно. Долго компилируется, куча граблей и ненужной переусложненной хуйни.
      C - говно. Слишком анскильный, в нём нихуя нет.
      Jawa - тут и говорить нечего. Ему давно место на помойке.
      C# - хорош, но не компилится в нативный код, из-за чего не перформансный
      Go - говно. Ебучие err заебали, код - лапша
      Paskal, Basic - говно мамонта для школьников.

      В идеале взять на основу C++, передизайнить его, выкинуть оттуда всё говно.
      Ответить
      • D был бы хорош, но всё самое интересное в нём требует GC, а без GC он слабо отличается от сишки.

        Язык Ада хорош, но он выглядит сложноватым.

        Free Pascal значительно проще языка Ада, но он почему-то у всех ассоциируется с Турбо-Паскалем и с Дельфи, а значит, со школьниками.
        Ответить
        • Ада — отличный. Просто немейнстримный.
          А в узких кругах его знают и люят. Там и сольверы докрутили и много чего такого, до чего rustне и прочим goвнюкам ещё лет 30 срать.

          > Free Pascal значительно проще языка Ада, но он почему-то у всех ассоциируется с Турбо-Паскалем и с Дельфи, а значит, со школьниками.

          У меня не ассоциируется. И он тоже не стоит на месте.
          В FPC ведь тоже давно есть женерики, RAII и прочая хрень.
          Я бы не сказал что он сильно проще Ады.

          Просто мне кажется в него не вбухали столько ресурсов как в Сиподобные языки.
          Потому компилер и рантайм сильно сливают в пирформансе gcc/clang.

          Но тот факт что у FPC всё своё, а не ворованное — вызывает уважение.
          Ответить
          • Был компилятор Virtual Pascal. Он рвал в клочья FPC по пирфомансу генерируемого кода. Но его разрабатывал чувак в одну харю, пока был студентом или аспирантом. А потом у него внезапно исчезло свободное время, и он на Virtual Pascal положил, а исходники не раскрыл.

            Closed source — зло.
            Ответить
            • Какой скилл )))
              Ответить
            • Столлман потому и сделал всех со своим gcc, поскольку с самого начала он исходил из коллаборации и общедоступных сырцов. И Сишка так сильно развилась во многом именно поэтому.

              Уже и Столлман давно не кодит, и проект переписали два раза, а gcc по-прежнему один из лучших компиляторов.

              Причём мало кто помнит что первая версия гцц была написана на... Паскале.
              Ответить
              • Так и Шиндошс когда-то была написала на Паскале. А потом керниганская ересь захватила мир и виртообрядцев стали шеймить.
                Ответить
                • Не знаю насчёт винды, но первые макоси точно писались на Паскале.

                  Яббло даже поспособствовала его оопизации.

                  Майки тоже что-то пытались слепить, но у них с Паскалём не пошло.

                  А вот Object Pascal яблочников довольно существенно повлиял на Багланд.
                  Ответить
                  • Верно. Классика (до OSX) была на паскале, я даже застал реликтовое излучение в винде паскалевых строчек в API во времена Carbon
                    Ответить
                    • Если бы история сложилась несколько по-другому и какие-то люди не покинули Яблл.

                      То сейчас бы Паскаль у большинства ассоциировался не с школьниками-дульфистами и осетинскими уёбками, а с респектабельными яблочниками.

                      Был бы у нас вместо Свифта прокачанный ARC диалект Паскаля с автовыводом типов и женериками. Возможно с более быстрой компиляцией за счёт зрелости.

                      Более того. В Свифте произошёл небольшой откат и паскализация языка.

                      И если отход от сишной конвенции, когда телегатип стоит перед переменной — это общий тренд языков 10х, включая Говно и Дrustню
                      var x : type; //сейчас общее место

                      То Свифтовые «repeat .. while» и «nil» это явный кивок в сторону Паскаля.
                      Ответить
                      • nil это наследение OBjC, уходящее корнями в smalltalk кмк

                        А ``iq:Int`` заместо ``int iq`` сейчас уже везде. Вже все поняли, что сишная нотация сасет
                        Ответить
                        • > nil это наследение OBjC
                          Принято. Но «repeat { .. } while» это вот прям явная калька с repeat .. until.
                          Правда с этими фигурными скобками выглядит по-уродски.

                          > Вже все поняли, что сишная нотация сасет
                          Вирт же сделал это ради LL(1). Только вот скорость компиляции свифтов и рустни это не повысило.
                          Только говно более-менее быстро собирается.


                          Кстати LL(1) это одно из объяснений почему в Паскале были цифровые метки.
                          Ответить
                  • Ну я как бы при написании винды свечку конечно не держал, может они на ассеблере сделали, как положено при написании программ под DOS, но Platform SDK для Цшт 2.0 и его примеры к моему удивлению оказались на Паскале.

                    > ассоциировался с респектабельными яблочниками
                    С виндоблядками.
                    Ответить
                    • https://github.com/AR1972/astro/blob/4edbe09e819aa14dcf269f5abe137110028475bd/cmd/fdisk/input.c

                      Какой Паскаль )))
                      Ответить
                    • Есть ещё такое, но это утилиты под ДОС:

                      https://github.com/microsoft/MS-DOS/blob/04a3d20ff411409ab98474892b2bb1713bde0f7f/v2.0/bin/PROHST.PAS
                      Ответить
                      • Да, у майков был Quick Pascacal чтобы это собирать
                        Ответить
                        • Quick Pascal 1.0 — единственный выпуск мелкомягких, он очень хорошо совместим с Турбо Паскалем 4.0-5.5 (не помню точно, к какой версии он ближе, но точно помню, что с 3.x несовместим, а до шестого не дотянул по поддерживаемым фишкам).
                          Ответить
                          • P.S. Я как-то нашёл исходники вирусов на Турбо Паскале. Пересобрал их Куик-Паскалем, и получившиеся сборки не детектировал ни один антивирус, потому что кодогенератор у MS отличается от борландовского.
                            Ответить
                          • До квика у них был просто паскакаль. Еще пишут, что он был как-то связан с паскакалем, который поставляли IBM.
                            Ответить
                • Поискал следы Пасквиля в сорцах позднего ДОСа/ранних виндов.
                  https://github.com/AR1972/astro/blob/4edbe09e819aa14dcf269f5abe137110028475bd/45/tl/inc/windows.h
                  BOOL FAR PASCAL GetMessage(LPMSG, HWND, unsigned, unsigned);
                  BOOL FAR PASCAL TranslateMessage(LPMSG);
                  LONG FAR PASCAL DispatchMessage(LPMSG);

                  Но это похоже больше касается соглашения вызова, а не языка.
                  Ответить
                  • {$windows+}
                    {$stackseg+ $debug- $symtab-}
                    
                    INTERFACE;
                        UNIT paslibw (
                            {$INCLUDE : 'muzzle.inc'}
                        );
                    {$INCLUDE:'windows.inc'}                 { Get WINDOWS definitions. }
                    
                    MODULE muzzle[];
                        USES paslibw (
                            {$INCLUDE : 'muzzle.inc'}
                        );
                    
                    CONST
                        FILE_AND_HEAP = 0;
                        DUMMY = 0;
                    
                    {To test the file system set FILE_AND_HEAP to be 1.
                     Use 0 for the normal case.}
                    
                    {$IF FILE_AND_HEAP $THEN}
                    
                    {The stuff in the next sections is test code to show that files and
                     the heap work.}
                    
                    TYPE
                        pMyRec = ^MyRec;
                        MyRec = RECORD
                            i, j : INTEGERC;
                        END;
                    
                    VAR
                        MyFile : TEXT;
                        MyInteger : INTEGERC;
                        v1MyRec, v2MyRec : pMyRec;
                    
                    {$END}
                    
                    CONST
                        STIR           =   20;      { flag for menu event }
                        IDM_ABOUT      =    1;      { addition to system menu message }
                        ABOUTBOX       =    1;      { aboutbox dialog resource id }
                        XCOUNT         =    4;      { number of boxes in puzzle }
                        YCOUNT         =    4;
                    
                    
                    { Global variables }
                    
                    VAR
                        xExt        : INT;              { size of puzzle boxes }
                        yExt        : INT;
                        Bx          : INT;              { origin of puzzle }
                        By          : INT;
                        xscr,yscr   : INT;              { physical x,y dimension of screen }
                        xdepth      : INT;              { depth of x 3-d effects }
                        depth       : INT;              { depth of 3-d effects }
                        xc,yc       : INT;              { the lower right corner of puzzle}
                        xLineExt    : INT;              { length of lines across the puzzle }
                        yLineExt    : INT;
                        MTi         : INT;              { index of empty square}
                        MTj         : INT;
                        CharWidth   : INT;              { dimensions of characters }
                        CharHeight  : INT;
                        CharAscent  : INT;
                        Aspect      : INT;              { inverse aspect ratio }
                        Color       : BOOL;             { indicates if color can be used}
                        A           : ARRAY[0..XCOUNT-1] OF ARRAY [0..YCOUNT-1] OF INT;
                    Ответить
                  • Так и есть: в Windows 3.x было соглашение вызова PASCAL (стек чистит вызываемая функция инструкцией retf с явно указанным количеством аргументов, что не позволяет делать функции с переменным количеством аргументов; аргументы пушатся в стек слева направо).
                    Ответить
              • > Сишка так сильно развивалась

                > Сишка
                > развивалась

                https://ololo-tv.cdn.ampproject.org/i/s/ololo.tv/wp-content/uploads/2020/08/befunky-collage3.jpg
                Ответить
            • Virtual Pascal is a free 32-bit Pascal compiler, IDE and debugger for OS/2 and Microsoft Windows, and the latest version v2.1 is available for free. Virtual Pascal was originally developed by Vitaly Miryanov. It was afterwards maintained by Allan Mertner. It was planned to be made into an open source compiler which couldn’t be done as it had a lot of technical issues majorly being that no one person understood the entire compiler code and it also used a couple of proprietary tools for documentation and help. A good repository for information on the virtual pascal compiler is http://www.justhemes.com/bluehost-coupons Virtual Pascal or vpascal is mainly known for its TP compatible text mode IDE and its support for OS/2.
              Ответить
              • Всё так. Мирянов передал его Мертнеру, а Мертнер выпустил ещё пару версий и сказал, что занят. На том всё и остановилось.
                Ответить
              • >a lot of technical issues majorly being that no one person understood the entire compiler code

                :)))))))сук

                программисты такие программисты
                Ответить
                • Там гнилая отмазка. Никто, кроме Мирянова и Мертнера этот код не видел. Им почему-то не хочется открывать исходники, вот они и отмазываются в духе «вы там ничего не поймёте».

                  Я такую же отмазку слышал от авторов других проектов.
                  Ответить
                  • в случае с компилятором может не такая и гнилая

                    вдруг там код олимпиадного качества
                    Ответить
                    • И что со мной случится, если я увижу код олимпиадного качества?
                      Ответить
                  • Сорока-воровка, я скушаю твоих деток!
                    Ответить
                • > программисты
                  На самом деле если ты внимательно приглядишься к пасте...
                  Ответить
      • > C# - хорош, но не компилится в нативный код

        ASD_77 считает иначе.

        А вообще что AOT-компиляция в нативный образ, что cs2cpp, не добавляют пирфоманса по причине перепитушни. Фейсбук, изобретая свой компилятор для PHP, тоже думал ускориться, но обнаружил бутылочное горлышко в самой архитектуре.
        Ответить
        • Всякая managed и скриптопитушня в нативщину нормально не компилится из-за рефлексии. Если я в теории могу попросить пользователя ввести строку, собрать из неё имя класса, создать объект этого класса и подёргать поля по их имени, то в бинарнике придётся оставлять всю петушню, которая позволяет этому работать.
          Если её вырезать, то получится жутко кастрированный язык типа Java Card.
          Ответить
          • Но ведь всё, что предоставляет IDispatch для скриптухов как раз написяно на ЯВУ, а не на ИОТ.

            > C# - хорош, но
            Даже гейцы, несмотря на раздувание щек, свой флагманский продукт сделали на крестах, а на хваленом диезе - только калькулятор из группы аксессуары.
            Ответить
        • у АСД джаваскрипт работает быстрее сиплюсплюса, у него вообще свой мир
          Ответить
          • Я несколько лет назад кидал реальный пример, в котором код на ЯВУ работал быстрее аналогичного кода на Ассемблере, потому что пример на Ассемблере писали мудаки.
            Ответить
            • Ну это не сложно. Я могу написать такой код на С++, который будет работать медленее .bat файла
              Ответить
      • есть такой язык, swift называется
        Ответить
        • this

          или котлин натив
          Ответить
          • а там есть оналог deinit?
            Ответить
            • там это где? в швифте есть deinit

              https://docs.swift.org/swift-book/LanguageGuide/Deinitialization.html
              Ответить
              • в нативном котлине

                или там тоже надо просто не забывать вручную закрывать ресурсы?
                Ответить
                • не знаю, я про котлин просто так пизданул, чтобы у тебя сложилась иллюзия альтернативы, которой нет
                  Ответить
        • Оч смешно
          Ответить
          • ох, ну тогда пиши на С++ и не юзай буст
            нормально будет компилироваться

            Я тоже мечтаю о языке с типизацией типа TS, с работой с ресурсами посредством ARC, и с синтаксисом типа Яибу

            о! Кристал! там гц правда
            Ответить
            • К слову, у АСД уже есть компилируемый TS.
              Ответить
              • в котором нет целых, но есть GC


                друзья, любой язык с GC и с ручным IDisposable это всегда кал
                Ответить
            • > Я тоже мечтаю о языке с типизацией типа TS

              Ты это так говоришь, будто бы в TS придумали какую-то там мегаохуенную типизацию, которой раньше нигде никогда не было. На деле же такая хуйня уже хер знает сколько была во всяких там хачкелях и окамлях, мелкомягкие это просто прикостылили к жабаскрипту
              Ответить
              • Да я в курсе) Но разве не чудесно, что такие крутые фишки из серьезных языков перенесли во фронтпарашу?

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

                      Ароматазу у женщин синтезируют яичники. Помимо этого, у обоих полов ароматазу синтезирует жировая ткань.

                      Жирные мужчины рискуют получить повышенный уровень эстрадиола.

                      Так что лучше найти силы и время для физической нагрузки, а то начнёшь о себе говорить в женском роде.
                      Ответить
                      • Но тогда я автоматически стану экспертом по стандарту С++20, нет?
                        Ответить
                      • define жирные
                        Ответить
                        • > define жирные

                          Это я, когда набрала 4 килограмма из-за ковидной удалёнки. Чувствую себя жирной свининой ;(

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

                                А ты специально осетина привлекаешь?
                                Ответить
                                • Нет. Его же тянки не интересуют.
                                  Ответить
                                  • А анимятина?
                                    Ответить
                                  • Прикинь, я тут хотел поставить SMTP клиент на прыща, чтобы mail по smtp был. Причем я не хочу MTA. хочу тупой MUA.

                                    Так вот, и heirloom и gnu-mailutils на дебиане зависят от mta. Без него удалось поставить только s-nail., но он не косплеит mail, потому что не совместим с ней.

                                    А потом я накатил logwatch, а он опять mta хочет.

                                    Я на психах сделал apt download, dpkg --force -i и потом в конфиге явно указал s-nail вместо mail.


                                    Прав был Патрик: заивисимости -- зло!
                                    Ответить
                                    • > зависят от mta

                                      Путь Юникса же... За транспорт сообщений отвечает MTA, остальным прогам и скриптам этой хуйнёй заниматься не нужно. Почтовые протоколы всё-таки нетривиальные и костылей куча. Да ещё и асинхронные.
                                      Ответить
                                      • Спорно. Отправкой занимается утулита mail, она не обязана быть полноценным MTA. Чому не сделать provides: send-mail-capability?

                                        Вот например в спермос есть кмдлет ``Send-MailMessage``, и он отлично шлёт по SMTP без всякого MTA.

                                        C другой стороны, в *nix отрпавкой почты занималась утилита sendmail, а она и есть MTA по совместительству.

                                        Похоже, красиво решить можно только поставив постфикс или эксим и настроив пересылку на релей-смарт-хост, но вот только нахцуя тогда все mailы и s-nailы умеют слать по SMTP? (исключение только bsd-mailx, он только sendmail может)
                                        Ответить
                                        • А потому что иначе у тебя в каждой "утилите для отправки" будет своё кривое и недопиленное MTA с поддержкой повторов, очереди, нюансов сраного SMTP...

                                          Именно поэтому нормальная утилита для отправки просто отдаёт файлик локальному MTA, а дальше пусть сам ебётся.
                                          Ответить
                                          • мне кажется, что повторы и очереди утилите не нужны: 'это задача MTA. Мне же нужен обычный SMTP кли

                                            А ты не считаешь пидорством ставить полноценный MTA в качестве пересылщика писем на смарт хост? Зачем он нужен? Разве что для обработки aliases
                                            Ответить
                                            • Эм, ну да, это задача MTA. Поэтому зачем её пердолить в каждую программу, которая хочет что-то отправить?

                                              Тебе ведь сервак в любой момент может сказать "приходи через час" или вообще не ответить. И что, прикладнухе или скриптам теперь самим очередь пилить?
                                              Ответить
                                              • Прикладухе сосать хуй и кидать исключение


                                                Хорошо, а зачем тогда s-nail, gnu mail и heirloom mailx пазваляют атправлять через SMTP? Чтобы типа если у тебя MTA только SMTP умее?
                                                Ответить
                                                • > Прикладухе сосать хуй и кидать исключение

                                                  Ага, пусть юзер пишет письмо заново. Страйко одобряет.
                                                  Ответить
                                                  • пиздец)) ну давай тогда не будем давать клиента постгри, потому что сервер может упасть, а пусть ставят постргрю полноценную, и пускай потом реплицируется
                                                    Ответить
                                                    • Ну вот смотри:

                                                      - Прикладнуха составляет письмо и отдаёт его локальному MTA.
                                                      - MTA отправителя пердолится с отправкой.
                                                      - MTA получателя помещает письмо в каталог юзера.
                                                      - Прикладнуха читает письмо и показывает юзеру.

                                                      Каждый элемент системы занимается своим делом, письма не проёбываются, юзер не видит лишних ошибок, всё просто и красиво.

                                                      З.Ы. Потом всю эту красоту, конечно, обосрали и полезли в централизацию. Из-за чего пришлось лепить всякие попы да имапы, а потом и веб-интерфейсы...
                                                      Ответить
                                                      • Я именно такую схему и хочу, но я хочу, чтобы MTA работал на соседней виртуалке. Можно так?
                                                        Ответить
                                                        • > Можно так?

                                                          Нет. Ты потеряешь отказоустойчивость.

                                                          Что делать, если соседняя виртуалка упала? Молча проёбывать письмо? Бесить юзера? Городить свою реализацию очереди?
                                                          Ответить
                                                          • Хорошо, а если у меня postgres на одной машине, а веб приложение на другой, то что мне делать?
                                                            Ответить
                                                            • У постгреса задачи немного другие всё-таки. Возьми лучше какого-нибудь брокера сообщений в качестве примера.
                                                              Ответить
                                                              • почему другие?


                                                                ну ладно, у броекра чтоли у всех клиентов своя очередь? у всяких там rabbitMQ и msmq?

                                                                а значет по твоему на винде Send-MailMessage это пидорство выходит??
                                                                Ответить
                                                                • > на винде Send-MailMessage это пидорство выходит

                                                                  Ещё какое. Вот у меня на серваке проблема какая-то, я хочу рассказать об этом админу, а сети в этот момент нет. И чо теперь делать?
                                                                  Ответить
                                                                  • Записать её в логи:)

                                                                    На юниксе наверное тоже правильнее так сделать. А уже как читать логи -- не твоя проблема. Кстати, отправку почты при возникновении события умеет и виндовый евент, и вероятно сислог (если для высокого северити указать не файл, а пайп типа |/usr/bin/sendmail)
                                                                    Ответить
                                                              • а еще кстати есть такая проблема, что в заголовках будет насрано. Я могу конечно замаскарадить заголовки, но это надо настраивать. Из коробки там будет написино, что письмо отправил ``[email protected]`` c IP 10.10.40.2

                                                                Зачем снаружи всем это знать?
                                                                Ответить
                                                                • Ну from то тебе никто не мешает написать какой угодно... А на лоу-левл заголовки всем насрать.
                                                                  Ответить
                                                                  • Я не о From.

                                                                    Каждый сервер длобавляет Received:, и там будет полный путь как письмо по моей локалке ходило.
                                                                    Ответить
                                                                    • Ну сотри его правилами на главном релее, если параноишь. Зато внутри локалки всегда будешь знать что откуда пришло.
                                                                      Ответить
                                                                      • >параноиш
                                                                        не я один, там целый м4акрос запилили: ``confRECEIVED_HEADER``

                                                                        у постфикса надо через cleanup(5) и headers_check наверное делать
                                                                        Ответить
                                                  • у меня три виртуалки с прыщами
                                                    одна MTA корпоративная
                                                    на двух других подымаьь постфикс реально?
                                                    Ответить
                                                    • Может быть у меня память повредилась, но вроде в слаке всегда стоял сендмейл... Настраиваешь в нём смарт-релей на копроративную МТА и вперёд.
                                                      Ответить
                                                      • да разумеется стоял. теперь там постфикс, кстати.


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

                                                            Там допустим стояла джанга и срала по SMTP и всем было заебись
                                                            А потом началось

                                                            --А давайте поставим сраный скрипт на перле который там раз в сутки что-то срет (logwatch)
                                                            --А не хотите еще сюда exim4 докинуть. НАХУЯ?

                                                            Порт у меня и так будет localhost слушать, и конечно в iptables я его не открою.
                                                            Ответить
                                                            • > стояла джанга и срала по SMTP

                                                              А вот это не оверинжениринг?

                                                              1) В каждом веб-приложении болтается своя кривая реализация SMTP.
                                                              2) Каждому веб-приложению или скрипту надо знать адрес релея, потенциально и креды к нему.

                                                              НАХУЯ?
                                                              Ответить
                                                              • >1) В каждом веб-приложении болтается своя кривая реализация SMTP.

                                                                А ты как предлагаешь отправлять письмо? Через команду sendmail? Ты знаешь, что например postfix хотя и эмулит ее (частично) но рекоменждует всё равно SMTP (пусть и на холокост) потому что sendmail это самый долгий и длинный путь инжектнуть письмо в очередь?

                                                                2) Адрес надо, креды -- нет (у вортуалок своя сеть) но вот например если бы они все умели через s-nail то я бы там ожин раз это настроил, и отправлял через него

                                                                Пусть бы все дергали mail, а в mail.rc или там s-nail.rc был бы адрес и креды релая
                                                                Ответить
                                                                • > Через команду sendmail

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

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

                                                                    расскажи это авторам mod_** и fast-cgi. Помниш, для чего cgi атменили?

                                                                    В постфиксе по причинам безопасности путь от sendmail намного дальше

                                                                    SMTP: smtpd -> cleanup
                                                                    sendmail: sendmail -> maildrop -> pickup ->cleanup
                                                                    фишка в том, что у тебя нет прав срать в очередь напрямую (а у smtpd есть). Потому ты сначала срешь в maildrop, а оттуда уже забирает его пикап.
                                                                    У сендмыла с восьмерки12 вроде бы вообще разные демоны для этого

                                                                    >Ну да, или любой другой локальный MSA
                                                                    ну вот s-nail же...
                                                                    Ответить
                                                                • Вообще грустно конечно.

                                                                  Был абстрактный интерфейс для отправки почты через запуск процесса. Было чёткое разделение ролей. Была отказоустойчивость. Была отправка в оффлайне.

                                                                  Потом кому-то захотелось сэкономить место на диске и он начал срать напрямую в SMTP порт другой машины. Интересно, сколько либ и скриптов на этом этапе словило SMTP инъекцию?

                                                                  А теперь вообще какие-то кастомные говноAPI на централизованных серваках предлагаются...
                                                                  Ответить
                                                                  • всё становится хуже, да. Cравни отказоустойчивость и удобство юзнета и сайта govnokod.ru
                                                                    Ответить
                                                                    • > всё становится хуже

                                                                      Вот кстати, тогда ведь не было стресса от "${name} набирает текст" и "привет, можно спросить"...

                                                                      Реалтаймовое общение и прерывания от мессенджера -- это ведь пиздец для мозга.
                                                                      Ответить
                                                                      • так и в фидо не было, и в электронке) мессенджеры -- говно и не нужно

                                                                        А еще не было стресса от "application halted by exception", потому что всё хранилось оффлайново сначала
                                                                        А еще не было стресса от "ой а на что нажать", потому что редактор был твой, локальный
                                                                        А еще не было стресса от "ПС ебнул сайт!! РКН закрыл наш форум!!!1", потому что поднять свой сервер и настроить роутинг мог любой
                                                                        Ответить
                                                                        • Сделать что ли для ГК оффлайновый интерфейс...

                                                                          Чтобы возвращаясь домой с работы загрузить новые сообщения, приготовить ответы, отправить их все одной пачкой и закрыть всё нахуй.
                                                                          Ответить
                                                                          • у RSDN такая пижня есть

                                                                            только не выдумывай новый прот, пожалуйста. Сделай шлюз в NNTP
                                                                            Ответить
                                                                            • > шлюз в NNTP

                                                                              Локальный демон разве что, чтобы существующие проги работали. Креды от ГК всё-таки не хочется на сервак отдавать. А новые комменты он и через госта скачает.
                                                                              Ответить
                                                                          • Лучше сляпай конвертацию с ньюсгруппу(ы).

                                                                            О, диез7б первый
                                                                            Ответить
                                                                          • Говно, но лучше, чем няпока. А в фаерволе почему не забанить на всё время кроме с 19 до 20?
                                                                            Ответить
                                                                            • > в фаерволе почему не забанить на всё время кроме с 19 до 20

                                                                              А как я себя забаню? ;)

                                                                              Ну можно закинуть единственную копию пароля от ГК в TPM и выдавать его только доверенной приложухе, котрая крутится на доверенном ядре чтобы он никуда не утёк... Но где взять доверенные часы, которые я не смогу перевести? Какой-нибудь внешний сервер таймстемпов?
                                                                              Ответить
                                                                          • > Сделать что ли для ГК оффлайновый интерфейс...
                                                                            Нужен просто бридж в nntp. Древовидная структура есть, офлайн есть, закинуть ответы пачкой можно, если клиент умеет, прочитанное непрочитанное показывает, даже игнорить юзеров и треды отдельно можно.

                                                                            Я бы вообще чисто туда и переполз, я за перекат с ГК на что-то более федеративное, с сохранением коммьюнити без обязательного сохранения контента. Но как показывает практика, не взлетает ничего, где не будет сраного проброса на уютненький. (bormand ушёл из-за тебя, guest6)
                                                                            Ответить
                                                                            • Ты третий, кто про это написил.

                                                                              Но это не хипстерски. Хипстерски будет написать свой прот с JSON over Rest, с регистрациеей по номеру телефона, и толстым веб-клиентом
                                                                              Ответить
                                                                              • > Ты третий, кто про это написил.

                                                                                Ну завтра тогда посмотрю насколько сложно это реализовать. Заселфхостить есть где.
                                                                                Ответить
                                                                              • > Но это не хипстерски. Хипстерски будет написать свой прот с JSON over Rest, с регистрациеей по номеру телефона, и толстым веб-клиентом

                                                                                Ну если уж делать своё, то с ассиметричным end-to-end, чтобы действие "добавить в черный список" означало буквально не шифровать сообщение ключом собеседника вообще и пошёл он нахуй.

                                                                                Но если так дальше придумывать, то примерно matrix и получится. Только он ещё и федеративный.
                                                                                Ответить
                                                                                • > с ассиметричным end-to-end

                                                                                  Ассиметричное шифрование медленное, намного рациональнее через ассиметричное шифрование передать ключ для симметричного шифрования, и потом им что-то шифровать
                                                                                  Это т.н. https://ru.wikipedia.org/wiki/Гибридная_криптосистема
                                                                                  Ответить
                                                                                  • > Ассиметричное шифрование медленное
                                                                                    Оно всё равно быстрее, чем мешки с мясом читающие текст глазами и набирающие его пальцами. Для сраного форума 3,5 анонимусов на скорость можно не заморачиваться.
                                                                                    Ответить
                                                                                    • Ну так-то j123 прав. Обычно делают так:

                                                                                      * Асиметрично делают защищенный канал
                                                                                      * По нему передают симметричный сессионный ключ
                                                                                      * Далее, всё шифруют этим симметричным ключом
                                                                                      * Переодически его меняют

                                                                                      Мне каежтся, так работают SSH, TLS, IKE/IPSec, всякие там стандарты в 802 для сети тоже так работают

                                                                                      не?
                                                                                      Ответить
                                                                                    • > Оно всё равно быстрее, чем мешки с мясом читающие текст глазами и набирающие его пальцами.

                                                                                      Через типичные мобильные мессенджеры сейчас передают не только текст, но еще картинки и прочие файлы.
                                                                                      Ответить
                                                                                    • Быстрее, но весит дохрена. Не хотелось бы с каждым комментом получать/хранить весь пакет ключей для каждого юзера.
                                                                                      Ответить
                                                                                      • а можно как-то вместо RSA для пидписи использовать эпилептические кривые чтобы ключ меньше весил??
                                                                                        Ответить
                                                                                        • Можно, но один хер ведь О(n) от числа юзеров.
                                                                                          Ответить
                                                                              • json over rust
                                                                                Ответить
                                                                            • > как показывает практика, не взлетает ничего, где не будет сраного проброса на уютненький

                                                                              Я Кашицыну с rat4 это сразу сказал.

                                                                              Именно поэтому «PHP» круче чем «скала».
                                                                              Ответить
                                                                        • > мог любой

                                                                          мС ДЮ, НРРСДЮ-РН Х ЛЕЛ ОПН АМНОМЧ
                                                                          Ответить
                                                                          • Если ты до такой степени днище, что не умеешь в кодировки, но и сейчас ты можешь, что называется, &amp;quot;<b поесть говна
                                                                            Ответить
                                                                          • бНОПНЯ
                                                                            Ответить
                                                                            • Послушйте, несметное число русскоговорящих сосало хуй на стыке веков, пытаясь открыть блокнотом(1251) текст, набранный в edit(866), и наоборот.

                                                                              Затем они сосали хуй от russian apache, коий ловко перекодировал koi8-r в 1251, и поступал так со всеми файлами, включая картинки и mp3, причем мартышки копировали этот рак до середины нулевых, когда уже utf8 проклюнулся.

                                                                              Так что нам не превыкать
                                                                              Ответить
                                                                      • > тогда ведь не было стресса от "${name} набирает текст" и "привет, можно спросить"...

                                                                        Вот тут с удовольствием въебал плюс.
                                                                        Ответить
                                                                    • почему русня такая ретроградная?
                                                                      Ответить
                                                                      • готовится заприземлиться

                                                                        https://www.artstation.com/artwork/ybm9Zn
                                                                        Ответить
      • Я плюсанул за первое предложение.

        > C - говно. Слишком анскильный, в нём нихуя нет.
        Неправда. Сишка — это база.
        https://www.youtube.com/watch?v=qfrwAkiG_9E

        > Paskal, Basic - говно мамонта для школьников.
        Нормальные языки.
        «Basic» только один Microsoft настрогал 4-5 разных диалектов, которые отличаются примерно так же как Fortran отличается от C, C от Delphi, Delphi от JavaScript и JavaScript от C#.
        Ответить
        • Не знать сишку это как не знать латынь
          Ответить
      • > C# - хорош
        Не хорош.

        Всё где есть public, private, protected, getter, setter, class воняет как ЛАЖА.
        Ответить
        • хуясе ты на кресты наехал что ли????



          Сеттеры-геттеры в C# уже двадцать лет как пишутся проще, чем в жавагавне
          Ответить
          • Да. Только struct, только хардкор.

            Нет, серьёзно, ну нахуя там этот «class»?

            > Сеттеры-геттеры в C# уже двадцать лет как пишутся проще, чем в жавагавне
            ORLY?

            @lombok.Data
            class Foo{
                ....
            }


            А в Крестах геттеры/сеттеры уже у многих людей вызывают рвоту и considered harmful
            https://stackoverflow.com/a/51616894
            Ответить
            • class это говно и не нужно, это буллщит и баззворд, тут я всячески плюсую


              >лобок
              Лобок это не часть языка


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

              В языках для мартышек (java, c#, go) никаких constов нет
              Ответить
              • > В языках для мартышек (java, c#, go) никаких constов нет

                Так точно. Ниже как раз об этом и написал.

                > Лобок это не часть языка
                Буст тоже.
                Есть либы стандарт де-факто. У йажистов это лобок, апачи и гуава.
                Ответить
              • В шарпе const есть, но это скорее constexpr. Для более традиционного const есть readonly
                Ответить
                • Соул, я не буду тебе рассказывать, чем шарповский readonly и жавовский final отличается от с C++ного const, а просто попрошу тебя написать на C# такую функцию, которая не сможет изменить поля у переданной в нее структуры

                  сможешь?
                  Ответить
                  • Ну во-первых без прыжков с ref у структуры изменить ничего не получится - это будет pass-by-value, и никого не волнует что там происходит во фрейме отдельного метода.

                    Во-вторых

                    public readonly struct Immutable {
                      public readonly int value;
                      
                      public Immutable(int value) {
                        this.value = value;
                      }
                    }
                    
                    void Mutate(Immutable instance) {
                      instance.value = 12;
                    }


                    (2,3): error CS0191: A readonly field cannot be assigned to (except in a constructor or init-only setter of the type in which the field is defined or a variable initializer)

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

                    И не надо говорить, что касты часто приводят к UB, в жабе танцы с рефлексией во многих случаях тоже приводят к негарантированному поведению.
                    Ответить
              • Ломбок вообще-то
                Ответить
          • > Сеттеры-геттеры в C#
            Если уж совсем по-честному этот бройлерплейт нужен только для анскильных недоязыков, где нет нормального const.
            Ответить
            • Верно

              Если жабайоба пустить в кресты, и он там начнет выписывать 100500 полей и для каждого сетттвер и геттер, то его конечно следует оборжать, обоссать, и вернуть обратно писать AbstractFactortPriceJsonProviderImplы
              Ответить
      • > Почему, БЛЯДЬ, в 2022 году ещё не придуман перформансный компилируемый язык программирования, который включает в себя всё хорошее их других, и исключает всё говно?

        А даже если вдруг такой язык придумают (на самом деле нет), то на наго немедленно слетится куча мух.

        В него напихают всякой дристни для анскилябров.
        На нём начнут немедленно писать заедушные отбросы.
        В него добавят ключевые слова class, public, private а также геттеры/сеттеры.

        Короче в плане performance language лучше Сишки уже ничего не придумают.
        Всё остальное будет сливать по пирформансу, и/или быть слишком сложным, или же наоборот будет черезчур анскильным. И естественно будет на базе Сишки, прибито гвоздями к либцам.
        Ответить
    • Как зайти в даркнет?
      Ответить
      • Через дверь пробовал?
        Ответить
      • можешь заплатить мне биток, я пошлю ссылку

        не ведись только на бесплатные инструкции -- схватишь вирус
        Ответить
        • Перевёл тебе двести баксов на Тинькофф через Свифт, проверь.
          Ответить
          • А можно ли переводить через Objective-C?
            Ответить
            • можно, но, если не туда переведёшь, получишь does not recognize selector recipient
              Ответить
            • Hey guys. I'm a reasonably experienced Java developer who's just playing around with Objective-C just to get a feel for it. I've created a simple "List" class (code below), and it compiles just fine, but when I try to run it, I get a the following error
              Ответить
      • лампочку выключи
        Ответить
        • Ну как, он выключил?
          Ответить
          • Я не уверен, что он видит клавиатуру, чтобы нам написать
            Ответить
            • Для даркнета нужно брать клавиатуру с подсветкой
              Ответить
              • но она продаётся только в даркнете

                уловка-22...
                Ответить
      • Даркнет нинужон, там только хакеры и наркоманы
        Ответить
    • ой ой ой, все горазды ругать ПХП, а вы сами сколько языков разработали??
      Ответить
    • ой ой ой, все горазды ругать Дурова, а вы сами сколько мессенджеров разработали??
      Ответить
    • ой ой ой, все горазды ругать винду, а вы сами сколько ОС разработали??
      Ответить
    • Уникальная акция! До 12 утра вы называете известный мне ЯП, и я его обсираю совершенно бесплатно

      ну?
      Ответить
      • сишка
        Ответить
        • ты первый, так что начну с тебя (могу обсирать не более одного языка в день)

          Сишка почему-то передает массив по указателю
          Сишка не умеет скопировать массив, и вообще не рассматривает его как value (го тут много лучше)
          При этом со структурами такого нет --> не консистентность

          В сишке чехорда с типами: старые (типа int) как-бы уже не нужны, но все еще используются.

          Тихий промоутинг типов это пиздец, очень легко можно случайно получить переполнение.

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

          Нет модульности совсем никакой: заинклудь себе кое-что.h и засри min и max.

          Слово static имеет два разных значения.

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

          Нет никаких инструментов работы с ошибками: все делается вручную
          Ответить
          • > могу обсирать не более одного языка в день

            Слив защитан
            Ответить
          • > Вездесущая макросня, которая иногда маскируется под функции

            Конечно, лучше как Goвне.
            Копипастить везде
            if err!= nil 
            {
                 return err;
            }

            Говнюк любит копипасту, потому целый день копипастит, а потом сливает это в репу и обмазывается ей.

            > Сишка почему-то передает массив по указателю
            Сишка передаёт указатель.

            > старые (типа int) как-бы уже не нужны, но все еще используются
            >> int как-бы уже не нужен
            Ты не нужен, анскиллябра.

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

              В сишке массив и укокозатель - это не одно и тоже.

              > int

              Ахахах. Сами же обмазываетесь своими «int32_t» вместо «int», потому что «у меня в контроллерах инт не обязан быть 32 бита». Не ты ли кукарекал? Назови хоть одну причину когда инт нужен.
              Ответить
              • > Назови хоть одну причину когда инт нужен.
                Почитай определение, лошара.

                int — самый эффективный по пирформансу тип.

                > потому что «у меня в контроллерах инт не обязан быть 32 бита». Не ты ли кукарекал?

                Кукарекаешь ты, заедушная кукарекушка.

                > обмазываетесь своими «int32_t»
                Ебанашка, в Сишке полно типов. Есть ещё int_fast32_t, int_least32_t.
                Пацан знает какой тип будет эффективен в данном конкретном случае.
                Ответить
              • Конкретно когда значение вписывается в [-32767 .. 32767] int будет м-м-максимально эффективен.

                Реальный пример:
                int main(int argc,
                Есть и другие примеры использования int, но этот выбран, чтобы поняли и анскильные отбросы.
                Ответить
                • Питух, спок! Потом не кудкудачь, когда какой-то питух в либе будет использовать int, который не подпадёт под твой ко-ко-ко-контроллер. Будешь макросню #define int int32_t писать )))
                  Или поискать на говнокоде твои же вскукареки?
                  Ответить
                  • Ищи, лошара. А так ты только кукарекаешь.

                    Я тебе даже помогу
                    https://gcode.space/#!/search?q=%D1%83%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B2%20%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0%D1%85&user=3.14159265
                    Ответить
                  • > Или поискать на говнокоде твои же вскукареки?

                    Ну как, поискал?
                    Ответить
                • Или может тебе напомнить вскукареки про WORD и DWORD в винде?
                  Ответить
            • >Сишка передаёт указатель.
              а почему?
              Ответить
              • Except when it is the operand of the sizeof operator or the unary & operator, or is a
                string literal used to initialize an array , an expression that has type ‘ ‘array of type’’ is
                converted to an expression with type ‘‘pointer to type’’ 
                that points to the initial element of the array object and is not an lvalue.

                https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
                Ответить
                • Ну нафига так сделали? Чем плохо было бы делать как std::array?
                  Ответить
                  • А сделали как в std::decay )))

                    > делать как std::array
                    Так крестошваблонов же не было. И компиляторы не умели типы через всю программу выводить.
                    Ответить
                    • блдяь причем тут шаблоны?

                      Почему нельзя было реализовать нормальную value семантику для array как для struct?
                      Ответить
                      • Для std::array уже не обязательно даже размеры и тип указывать, оно само их выводит.
                        https://en.cppreference.com/w/cpp/language/class_template_argument_deduction

                        > нельзя было реализовать нормальную value семантику для array как для struct
                        Легаси сраное. backward compability
                        Ответить
                        • >Легаси сраное. backward compability


                          Серанули в вечность, да. Какой-то Керниган там или Ричи пояснял, что хуйня с массивами осталась в наследство от какого-то предыдущего языка, и типа тогда это казалось логичным.

                          Но я не понимаю чем массивы такие особенные, что их надо по еблански обрабатывать.

                          Сколько миллионов долбоёбов написало
                          void foo(char foo[]) {
                          for(size_t i =0; i < sizeof(foo);
                          Ответить
          • https://medium.com/maddevs-io/golang-error-handling-18cf16758f81

            Там где Сишник напишет тривиальную мак-русню, говнющонок в бессильной, анскильной злобе будет кидать пропозалы:
            «Пайк, сделай нам наконец макрос, мы уже заебались копипастить».

            > Нет никаких инструментов работы с ошибками: все делается вручную
            «го тут много лучше»
            Ответить
            • Ненавижу блядь программистов

              Если им разрешить не обрабатывать ошибки, то
              Notice: variable $petuh is undefined in /home/r/rotoeb/htdocs/stranichka.php at line 9234


              Если язык их заставляет проверять ошибки, то они сразу блядь начинают ныть: ЫЫЫ, вирбооозно, много писать
              Ответить
              • Но ведь это же удобно, сразу видно что ошибка и написано какая и в какой файле.
                Ответить
                • А в случае Java, Python и .NET еще и стектрейс виден, если его не отключить. Воообще кайф

                  А вот в С++ почему-то если ошибка, то сразу все падает (в случаем случае) а то и воовсе глючить начинает!!

                  Реально тупой язык как не для людей сделано
                  Ответить
              • > Если язык их заставляет проверять ошибки, то они сразу блядь начинают ныть: ЫЫЫ, вирбооозно, много писать

                Они ноют что язык из 2к10 вынуждает их пастить тонны бройлеров-на-тарелке.
                В то время как в гораздо более древних языках всё сделано как для белых людей.
                Ответить
                • В каких мейнстримных языках так сделано?

                  Я знаю только функциональные язычки с монадами
                  Ответить
      • Swift
        Ответить
        • https://twitter.com/StanTwinB/status/1336890442768547845
          Ответить
          • Уберовцы ваще говоря анскилябры, и я бы верить им не стал.
            Но история про динамическую загрузку 92 либлиотек впечатляет

            Поверить не могу, что в мире LLVM такое было возможно. Какая нахрен линкеру разница? Почему нельзя статичеиски
            Ответить
            • Там ещё была охуительная история, что для карьерного роста тебе нужно было показать не достижения, а Достижения. Так убер стал инвестором #1 в абсолютно ненужные и недешевые в разработке проекты и сервисы, имеющую одну функцию, которая либо повторяла уже существующие опенсорсные проекты, либо добавлялась туда куда меньшим количеством усилий через PR.
              Ответить
              • > A bunch of folks burned out along the way. A ton of money was spent, hard lessons were learned, but still to this day most people insist the rewrite was all worth it.

                Какие же ничтожные пиздюки. Я бы даже сказал убер-пиздюки.

                Мало того что просрали кучу денег просто ковыряясь в носу, так ещё выебнулись что якобы решили проблемы галахического масштаба.
                Ответить
          • Высрался бы он в medium или substack или еще какой смузижежешке, пиздец как сложно эти телеграммы читать.

            А еще убер должен поесть говна за подход к безопасности.
            Ответить
            • Там читатели несколько раз боту анролл заказали. Лови:

              https://threadreaderapp.com/thread/1336890442768547845.html
              Ответить
              • Спасибо так намного приятнее читать.
                Конечно твитерасы постарались сделать м-м-м-максимально неудобную и тормозную хуйню.

                > There’s a video somewhere in one of our talks of an Uber engineer typing a single line statement in Xcode and then waiting 45 seconds for the letter to appear in the editor slowly, one-by-one.

                Именно поэтому я за «vim».
                Ответить
                • У меня уже привычка: когда вижу длиннотреды, пишу роботу @threadreaderapp unroll, чтобы он заанроллил длиннотред за щеку на отдельную страницу.
                  Ответить
                  • Некоторые твиттерасы даже размечают нудноту
                    (1/2)
                    как на варезной сцене. А этому даже в голову не пришло.
                    Ответить
                • >one-by-one

                  vim тоже может так работать, если ты по дайлапу подключишься в Австралию
                  Ответить
                  • > vim тоже может так работать, если ты по дайлапу подключишься в Австралию

                    Враньё.
                    Мне приходилось ходить по ssh и работать в vim со скоростью диал-апа (gprs), когда я был в местах с хуёвым покрытием.

                    Работает vim явно быстрее чем эти сраные ide.
                    Плюс там есть ex режимы. Или можно сразу использовать великий и могучий ed.
                    Ответить
                    • Возможно, у тебя был неплохой latency.

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

                      К примеру, не надо 24 раза нажимать стрелочку, а можно сказать 24l
                      Ответить
                      • На самом деле диалап это уже ОЧЕНЬ жирно для таких редакторов.
                        Если люди на сотнях бод сидели.
                        When I log into my Xenix system with my 110 baud teletype, both vi and Emacs are just too damn slow.
                        They print useless messages like, ‘C-h for help’ and ‘“foo” File is read only’.
                        So I use the editor that doesn't waste my VALUABLE time.


                        https://govnokod.ru/27954#comment759192
                        https://govnokod.ru/26795#comment557757
                        Ответить
                        • Именно потому я за ed

                          Кстати, ed еще бывает полезен, когда у тебя вместо терминала -- печатная машинка. Там нету же полноэкранки

                          Хотя последние шестьдесят лет такие штуки редкость, конечно
                          Не знаю, насколько это актулаьно
                          Ответить
                      • Ещё в vim есть неинтерактивные режимы.
                        Vim in Ex mode is useful when:
                        
                            You're in need of editing (multiple) files non-interactively (as part of the script).
                            Your connection is very slow or screen is not updated after your actions.
                            Mappings and abbreviations are disabled.
                            Common keys such as Escape or Control doesn't work properly.
                        


                        Шах и мат, анскиллярбры.
                        Ответить
          • > There’s a video somewhere in one of our talks of an Uber engineer typing a single line statement in Xcode and then waiting 45 seconds for the letter to appear in the editor slowly, one-by-one.

            У меня в «FAR» такой фигни нет.
            Ответить
            • икскод и правда не очень шустрый и не очень стабильный

              но в FAR тебе трудно было бы писать на Objc (за стрижа не скажу) да и сторибилдеры там не очень.

              AppCode вот признал поражение и больше не светится, например

              Под ябло надо писать на ибле
              Ответить
          • >We also replaced *all* of our Swift structs with classes. Value types in general have a ton of overhead due to object flattening and the extra machine code needed for the copy behavior and auto-initializers etc. This saved us space so we pressed on.

            КАК
            БЛЯДЬ
            СМОЧЬ
            Ответить
            • Я же говорю, что убер -- ламеры. Открыли для себя передачу по ссылке и по значению с удивлением

              Скажите пожалуйста, вот новости!
              Ответить
          • > 100 mb

            Слабаки! Новая версия «Сбербанка-онлайн» для Андроида весит под триста метров, хотя все те же функции можно получить через браузер на страничке online.sberbank.ru без установки приложения.
            Ответить
            • > хотя все те же функции можно получить через браузер

              в отделении
              Ответить
              • Кстати, «Сбербанк-онлайн» сканирует все установленные apk, чтобы убедиться, что на твоём устройстве нет вредоносных программ.

                Как он будет работать в 12-м Андроиде, где SELinux подкрутили так, что теперь чужие apk не видны?
                Ответить
                • зачем сканировать все apk, если просто можно проверить на наличие рута?
                  Ответить
                  • Наруто тоже проверяет.
                    Ответить
                  • Magisk может скрыть рут от любого приложения.
                    Ответить
                    • Installing Magisk requires you to have a custom recovery for which your phone needs to have an unlocked bootloader.

                      Я не знаю, среди нас есть фотографы? Мне кажется, что в банковском приложении засунуто достаточно антифрода, чтобы отловить подобную парашу.
                      Ответить
                      • Разлоченный загрузчик палится, но опять же изобрели программу, которая умеет скрывать факт разлочки от избранных программ.
                        Ответить
                      • > в банковском приложении засунуто
                        Борьба с фродом - дело рук самого фродо!
                        Ответить
                • Чего молчишь, свинособака?
                  Ответить
            • > все те же функции можно получить через браузер
              Ничего подобного. Приготовь что-нибудь от ожегов и открой в барузере карту банкоматов.
              Ответить
              • Chromium/83, Android 4.4.2. Загрузилась веб-версия карты 2ГИС, по кликам на точках разворачиваются детали по каждому банкомату.

                Что не работает?
                Ответить
                • > 2ГИС
                  Значит их недавнее поглощение хоть какую-то пользу принесло. Раньше карта ногибала Феннек и Хромого.
                  А дупельгис окончательно сгнил.
                  Ответить
                  • Fennec/68 (последняя версия, работающая в Киткате): бесконечная загрузка карты.

                    Fennec/102: всё работает.
                    Ответить
                    • P.S. То ли браузеры стали лучше, то ли в картах что-то подкрутили.

                      Пару лет назад в мобильных браузерах фон Яндекс-карт не прогружался (кажется, именно они и были у Сбербанка).
                      Ответить
                      • Карта загружалась, но какой ценой... А проложение без доступа к IMEI не пускало даже до карты.
                        Ответить
            • Ну а посчитай сколько суммарно весит весь жабаскнипт
              Ответить
              • У них же не PhoneGap
                Ответить
              • Загрузка главной + карты банкоматов в приватной вкладке заняла 5 мегабайтов трафика.
                Ответить
            • Раз уж начал про «Сбербанк-онлайн». В разжатом виде пакет состоит из:

              1. 20 dex-файлов по 7 мегабайт каждый.

              2. 25 нативных библиотек суммарным размером 128 мегабайт под каждую архитектуру процессоров.

              И это я ещё ресурсы не считал...
              Ответить
              • Самое главное, что он состоит из 3% гадовых и 0.5% кэшбека и тупо спижженых у пивовара говноисторий. Еще и переводы в Урюпинск небось платные и тормозные.
                Ответить
              • >пол каждую библио
                Какой fat binary:)

                Надо Go завести такую идею, чтобы они собирали универсальный бинарь под все процессоры. Надо только такой заголовок придумать, который и PE и ELF и Mach-O, и воообще COFF

                Собрал один раз тераформ в бинарник на 650 мегабайт, записал на диск, и везде работает
                Ответить
                • Сейчас в упомянутом приложении ARMv7+ARMv8+x86+x86_64. Раньше ещё клали библиотеки для ARMv6 и для MIPS.
                  Ответить
                • В Андроиде бывают «flavoured builds»: когда билд-система генерирует несколько пакетов, каждый под свой процессор. Но тогда их нужно правильно публиковать в магазине приложений, чтобы он клиенту отдал правильный.

                  Многие разработчики (сборщики) этим не парятся и выдают «fat binary».
                  Ответить
                • Для ведра это обычная практика, арк это же не формат с за головком, а просто jar.
                  Ответить
          • > So to improve location pickup we changed the location permission to collect signal in the background so we could send the drivers to your current location. People freaked out. Some of my ex-Twitter colleges called on me to quit such an evil company that would track you like this.

            а чего ты блядь ожидал, когда писал приложение, которое следит за людьми?
            Ответить
          • > The larger community benefited from our learnings.

            Ха-ха-ха

            Давай, выкатывай свои защитные психологические механизмы
            Ответить
            • A town in the suburbs of Paris was the location for inter-ethnic brawls between Turks and Afghan Uber Eats drivers, with two fights taking place between groups of migrant delivery riders this month.

              https://i.obozrevatel.com/2016/5/15/438720.jpg
              Ответить
              • An Uber driver in the United Kingdom reportedly drove into a canal and the passenger was still charged for the watery journey. After the accident received media attention, the Silicon Valley ridesharing giant later refunded the passenger who had to walk home from the accident scene through “not the nicest area.”
                Ответить
          • > So after fixing that problem, @aqua_geek and I did some digging and discovered that
            > our compiled code size was growing a rate of 1.3 mb a week.

            Аахаха. Держите наркоманов!
            При том что в приложухе убера функционала хуй да нихуя.

            Но в проблемах жопоруких хипстеров оказался виноват конечно же Трампапамп. Куда же без него.
            Ответить
            • August 28 marks the 57th anniversary of the March on Washington and Dr. Martin Luther King Jr.’s famous “I Have a Dream” speech. To mark the occasion, Uber has partnered with Wieden+Kennedy on an integrated racial injustice campaign that pulls no punches: “If you tolerate racism, delete Uber,” it asserts.

              Uber is delivering that message across social media, in emails, app notifications. It also features on billboards appearing in 13 major U.S. cities in support of the thousands gathering in the nation’s capital to commemorate the March on Washington or planning their own marches across the country. The outdoor signs also state, “Black people have the right to move without fear.”

              Прямо эталонная либерда.
              Ответить
          • > But as of this year they’ve gotten Swift down to 1.5x the machine code size of Objective-C, and they eventually upped it again to a 200 mb optional limit. We had enough runway to make it a few more years.

            > We almost failed though. If Apple hadn’t upped the limit we would have been force to re-write the Uber App back in ObjC.

            Пиздец. Всё-таки быстрый прогресс это не всегда хорошо.
            Так бы может они переписали всё на Сишку, и весило бы их приложение около мегабайта.

            > The effect was catastrophic. The negative business impact was a few orders of magnitude larger than the entire cost of the year long Swift re-write. Turns out a ton of people are on a cellular network the first time they download the Uber app (who knew?).

            Да, действительно, кто бы мог подумать что никто в здравом уме не захочет качать сотни мегабайт ваших зловонных функцианальных высеров.
            Ответить
            • > Turns out a ton of people are on a cellular network the first time they download the Uber app (who knew?).

              Это меня тоже убивает. Такое ощущение, что они не знают, что такси обычно нужно, когда ты в ебенях и хочешь домой. И логично, что если у тебя приложения ещё нет, тебе его нужно установить.
              Ответить
            • Как вообще тонкий клиент какого-то говна может весить сотни мегабайт при том, что в операционке уже встроена библиотека компонентов, и вообще всё встроено?
              Ответить
              • Почему тонкий? Вон херня с FINE_LOCATION, которую он выдает за инаватцию, толстая.
                Ответить
      • Objective-C
        Ответить
        • На ладно, давай чутка Objc.

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

          Весьма всратый синтаксис со скобочками и плюсиками и минусиками делает язык нечитаемым для непосвященных в купе с вербозностью выглядит лулзово

          -(id)initWithName:(NSString *)name_ message:(NSString *)message_ 
          {
               self = [super init]; //не забудьте проверить, что парент не вернул nil
               if (self) {
                   self.name = name_;
                   self.message = message_;
               }
               return self;
          }


          Язык обратно совместим с няшной, потому многие вещи артефакты дублируются.
          Бывает няшный массив, и NSArray. Бывает няшная строка, и NSString. Причем у NS есть литералы с собачкой, это выглядит лулзово
          NSArray* array = @[ @"One", @"Two", @"Three" ];


          Есть варарги, но заканчивать их надо нилом (ну примерно как строки в сишке).

          В nil можно послать любое сообщение, и получить nil в ответ вместо ошибки. [Очень удобно!

          Сам вызов метода это всегда посылка сообщения, потому ловко заинлайнить его (как например в C++) или вообще вызвать не виртуально наверное будет трудновато, а это пифоманс.

          ARC заставляет делать забавные вещи, чтобы избежать циклов, например weak/strong dance.

          Отдельный привет числам: Погуглите "int vs NSNumber vs NSInteger"


          Лулзить про то, что было в старых версиях (не было генериков, не было ARC, надо было знать какой метод берет владение объектом, а какой нет по имени метода, вручную копировать блоки в кучу и пр) я не буду -- седая древность.

          Но в целом в OjbC из всех мест торчат ОЧЕНЬ ручные низкоуровневые херни, которые совсем не нужны в 21 веке. Именно потому яблоки и написали свифт, и позиционируют его как "ObjC без говна"
          Ответить
          • > Сам вызов метода это всегда посылка сообщения

            Угу. Если переводить это на модель ООП Симулы/C++/Delphi, то по факту всегда вызывается единственный метод объекта, именуемый диспетчером, а ему передаётся название действия, которое нужно выполнить. Т. е. диспетчеризация всегда в рантайме, как в Смоллтоке. Это даже хуже, чем вызов виртуального метода (VMT за время жизни объекта заполняется один раз: при вызове конструктора, а в ObjC при каждой посылке сообщения диспетчер ищет адресата).
            Ответить
            • Зато это позволяет бесплатно наколлектить такие вызовы, передать их по сети, сохранить, или заинтерсептить. AOP из коробки практически.

              Но мы тут для обсера, а не для хвальбы, так что я соглашусь: Даже жава со своим invokevirtual один раз загружает смещение в классе для каждого метода при загрузке класса


              In Apple's runtime, the whole function is implemented in assembly for maximum speed. objc_msgSend runs for every single Objective-C message send, and the simplest action in app can result in thousands or millions of messages.
              https://www.mikeash.com/pyblog/friday-qa-2012-11-16-lets-build-objc_msgsend.html

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

                  Я хочу вызвать метод, но объект еще не создат. В классическом (симулообразном) ООП я должен взять паттерн "ко-манда".

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

                  Команда из поробки


                  Но нужно конечно чтобы там были только петухи с чистой value семантикой, потому что если ты пошлешь дескриптор файла или указатель на стекую переменную, то будет как-то не очень красиво
                  Ответить
          • > В nil можно послать любое сообщение, и получить nil в ответ вместо ошибки.
            У программистов на Obj-C никогда не падает программа с обращением по нулевому указателю.
            Чтобы приблизиться к этому великолепию в шарпе даже специальную синтаксическую конструкцию ввели ( ?. )
            Ответить
            • в коке и TS тоже такое есть
              Ответить
            • А у программистов на «PHP» вообще никогда не падает программа и нет ошибок.
              Чтобы приблизиться к этому великолепию в бейсике даже специальную синтаксическую конструкцию ввели (On Error Resume Next)
              В PHP 8.0 уже не так. Они, как обычно, надобавяли исключения к идеально простому оператору @
              Ответить
      • Kotlin
        Ответить
        • аккуратно двигаюсь дальше

          Котлин компилируется примерно как скала (особенно тормозит вывод типов). Перепешите проект на котлине, и у вас появится масса свободного времени -- такой рекламный слоган я бы придумал для JB.

          В котлине нет package visible, так что всё говно экспортится наружу сразу, про это есть issue, но всем похуй.

          В Котлине всратый свитаксис для статических методов (компаньоны блядь) и не менее всратый для аногимных классов (object:): стало вербознее, чем в Яже.

          В коко сломали йажовую обработку ошибок (там нет checked exceptions) а в замен ее завезли нихуя, так если функция хочет вернуть ошибку (а не просто нул) то пусть лапу сосет.
          Даже Go с его err не так мерзок. Почему кокоши не осилили Maybe при наличии у них паттерн матчинга, силд классов и пр -- я хз. Просто не подумали.
          Теперь из котлина никак не вернуть ошибку

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

          Еще в ЙАЖА перед захватом кложой переменной ее нужно было явно сделать final, а в коко нет. Из кложи как-бы можно поменять переменную, но результат может вас удивить, особенно если кложа выполняется на другом потоке) Дыра и неконсистентность.

          Котлиновские корутины (и ктор) мощный инструмент, но достаточно сложный, и в него совсем не просто смочь, зато легко налажать.

          Коко впопуляризирует DSL, а DSL это рак.

          В коко стерли границу между примитивом и враппером (копулятор сам решает что боксить) в результате получился мощнейший багор
          https://stackoverflow.com/questions/45090808/intarray-vs-arrayint-in-kotlin

          И самое главное: ЙАЖА начала развиваться так, что она уже догоняет котлин, и котлин скоро станет не нужен: потому что тоже самое всё можно будет делать в новой джаве.
          Ответить
          • > Теперь из котлина никак не вернуть ошибку

            Result?
            https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/
            Ответить
            • Соврешенн не понятно схуя бы я должен возвращать именно throwable (мне типа создать класс и его вернуть?), это во-первыхъ
              во-вторых оно не используется в стандартной либе к сожалению
              Ответить
              • Все exception это throwable. Throwable делится на exception (ошибку в юзерленде) и error (ошибку в платформе).
                Ответить
                • Спасибо, кэп

                  Так почему ошибка это всегда Throwable?

                  У тебя есть функция, которая возвращает файл, считанный по HTTP, или код HTTP ошибки

                  нахуя тут throwable??
                  Ответить
          • > В коко сломали йажовую обработку ошибок (там нет checked exceptions)
            Починили же. checked exceptions всех бесили.

            > В котлине нет package visible, так что всё говно экспортится наружу сразу
            Нормально. В Сишке тоже нет никаких package visible.

            > Еще в ЙАЖА перед захватом кложой переменной ее нужно было явно сделать final, а в коко нет.
            Да, это факап.

            > И самое главное: ЙАЖА начала развиваться так, что она уже догоняет котлин
            К тому времени скорость работы и компиляции может упасть настолько, что они сравняются.

            > и котлин скоро станет не нужен
            Не нужны оба.
            Ответить
            • >Починили же. checked exceptions всех бесили.
              да, но они лучше, чем ничего.

              >Нормально. В Сишке тоже нет никаких package visible.
              В сишке можно в одном файле целую программу написать. В коко у тебя вотнкет IDE
              Ответить
              • Лучше. Йажистами написано огромное кол-во бройлер-плейта чтобы просто ловить checked и заворачивать их в extends RuntimeException.
                Ответить
                • А в котлине ты не знаешь, может тебе вернуть функция ошибку или не может

                  заебись же?
                  Ответить
      • жс
        Ответить
      • C++
        Ответить
      • Lua
        Ответить
      • Ответить
      • nemyx
        Ответить
      • Coq
        Ответить
      • Rust
        Ответить
      • Въебал по плюсу постам CBuHOCO6AKA.

        Rust и Coq — хорошие кандидаты.

        Но боюсь что без Борманда и Снаута нахрюки на Coq будет анскильными.
        А рустни на ГК и вовсе нет, тоже нещитово.
        Ответить
        • Да, свинья и петух - твои лучшие друзья.
          Ответить
          • Подтверждаю.
            Ответить
          • het varken en de kip!
            Ответить
            • Посмотрим, что с этими словами записали на «Форво».

              https://ru.forvo.com/word/dat_slaat_als_een_tang_op_een_varken/#nl

              https://ru.forvo.com/word/de_bil_van_de_kip/#vls
              Ответить
              • > произношение dat slaat als een tang op een varken — нидерландский
                > Произнёс пользователь WimYogya (мужчина, Индонезия)
                > нидерландский
                > Индонезия
                Какая Каннада )))
                Ответить
                • Индонезия — бывшая колония Нидерландов. Там и сейчас можно встретить артефакты колониального прошлого.
                  Ответить
                  • Но ты же понимаешь, что это - как индусы в качестве референц-английского, не?

                    Впрочем, сейчас кишит красножопыми и тряпкоголовыми, прямо как метрополия.
                    Ответить
                    • > индусы в качестве референц-английского, не?

                      Это как книжка "алгоритмы и структуры данных с примерами на PHP"
                      Ответить
            • Ещё что-нибудь погуглим:

              https://context.reverso.net/перевод/голландский-русский/het+varken+en+de+kip
              Ответить
        • Чем хороша CBuHOCO6AKA?
          Ответить
        • > нахрюки на Coq будет анскильными

          Дык почитай книжку по нему, сможешь объективно обсирать. Всё-таки это не выёбистое смузи-говно в духе скалки, ржавчины или го, на которое вообще не хочется тратить время...

          Главный минус -- любой мало-мальски сложный алгоритм будет обмазан тридцатью слоями макросни, генерящей пруф. Благо от её корректности ничего не зависит.
          Ответить
      • Forth
        Ответить
    • Putting the CONSTANT_NameAndType in both places makes for a more regular design. In effect, CONSTANT_Methodref and CONSTANT_Fieldref constants are used to refer to named members of classes, while the analogous CONSTANT_InvokeDynamic and CONSTANT_Dynamic constants are used to refer to named entities with user-programmed bootstraps.

      To relax length restrictions on bootstrap specifiers, the language which defines the invocation of bootstrap methods will be adjusted (with complete backward compatibility) to allow variable arity (ACC_VARARGS) bootstrap methods to absorb, into their trailing arguments


      Блядь, ёбаная жава.
      Это что, так сложно, выдерживать единый стиль именования?
      Почему CONSTANT_Dynamic, но не CONSTANT_DYNAMIC или ConstantDynamic?
      Почему CONSTANT_NameAndType, но CONSTANT_Fieldref?
      Почему Fieldref, но не FieldReference или хотя бы FieldRef?
      Почему, блядь, так сложно сделать всё тупо а к к у р а т н о, а не делать ёбаное отвлекающее месиво?
      Ответить
    • https://github.com/camel-cdr/execfs
      Ответить
      • Привет, зацени смешную картинку, я тебе на почту послал

        "sudo rm / -rf"
        Ответить
        • Это даже не дыра в безопасности, а парадные ворота для зловредов.
          Ответить
          • На самом деле значительная часть подобных проблем легко решается. Достаточно запускать fuse с cgroup read-only.

            Понятно что дыр остаётся достаточное количество mnt/(wget -O - https://github.com/*/master/useful.c)
            Ответить
        • <html>
          <body>
          <img src="file://mnt/(sudo rm -rf /*)" >
          </body>
          </html>
          Ответить
      • $ cat examples.h
        char seed[8] = {
        #include "mnt/(head -c 8 /dev/urandom | xxd -i)"
        };
        
        double pi_squared =
        #include "mnt/(python -c @;import math;print(math.pi * math.pi);@;)"
        ;
        
        char *kernel =
        #include "mnt/(uname -sr | sed @,s/^/@;/;s/$/@;/@,)"
        ;
        $ cpp -w -P examples.h
        char seed[8] = {
          0xf9, 0x17, 0x93, 0x83, 0xf6, 0x90, 0xca, 0xa7
        };
        double pi_squared =
        9.86960440109
        ;
        char *kernel =
        "Linux 5.16.0-1-amd64"
        ;


        Круто.
        Ответить
        • >@,s/^/@;/;s/$/@;/@,
          язык богов всё таки

          Я помню как в начале нулевых дельфисты потянулись делать вебсайты, а там CGI на Perl, и примерно такой синтаксис (от sedа унаследованный)

          Как же у них горела жопа!
          Ответить
        • Попробовал провернуть этот трюк в Сишке с /proc.
          #include "/proc/meminfo"
          
          int main(){
              puts("test");
              return 0;
          }

          Препроцессор просто игнорит такие инклюды.
          $ gcc -E inc.c
          # 1 "inc.c"
          # 1 "<built-in>"
          # 1 "<command-line>"
          # 31 "<command-line>"
          # 1 "/usr/include/stdc-predef.h" 1 3 4
          # 32 "<command-line>" 2
          # 1 "inc.c"
          # 1 "/proc/meminfo" 1
          # 2 "inc.c" 2
          
          int main(){
              puts("test");
              return 0;
          }
          Ответить
    • https://dogbolt.org/
      Ответить
    • тут сишку починили процессором
      https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/
      Ответить
      • Мы тут кстати на работе пиздели в каких языках есть приватные поля в структурах, и сказали, что вот в питухоне нету, а в плюсах есть. Ну я скастил конечно адрес объекта в указатель на char, и проитерировался по нему до sizeof и получил все приватные поля, хотя это конечно UB, но везде работает.

        Стали думать, как починить. Я предложил сегментную модель памяти, и в дескрипторе сегмента данных перечислять ID сегментов кода, которые его могут читать.

        Тогда компилятор может реально хардварную защиту сделать, и даже ``/proc/mem`` с ``ReadProcessMemory`` не помогут
        Ответить
        • По первому абзацу: если у тебя нет исходника скомпилированного модуля, ты не знаешь названий приватных полей, и тебе придётся их долго восстанавливать реверс-инжинирингом.

          Если же исходник есть, то с указателем на чар пердолиться не нужно: воруешь описание структуры, делаешь все поля публичными, а далее делаешь reinterpret_cast.

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

          Вот в языках с изначально модульной структурой (Modula, Ada, Object Pascal) у тебя может не быть исходника интерфейса, если модуль поставляется уже скомпилированным. Тут только реверс-инжиниринг, чтобы понять, какое поле для чего.

          *****

          Хардварная защита — интересно. Где-то читал про идею файловой системы, в которой нету имён файлов. Процесс-создатель файла от ОС получает дескриптор. Этот файл смогут открыть только те программы, которым создатель явно передаст дескриптор. Причём подобрать дескриптор грубой силой нельзя.
          Ответить
          • P.S. В крестах теоретически может быть хедерный файл, в котором названия и типы приватных полей обфусцированы (заменены чем-то бессмысленным, но так, чтобы сохранялось смещение). Однако, шанс стырить описания полей есть, если библиотека скомпилирована с RTTI.

            Что именно можно стырить, я пока не знаю, нужно смотреть реализацию RTTI в разных компиляторах.
            Ответить
            • Если знать, что искать, то проблем с отсуствием декларации нет. Ну ASCII строку-то я всегда узнаю: набор символов (скорее всего до 127) завершающийся нулём.


              Если же там среди тучи массивов разных типов ловко сокрыто нужное мне число в неизвестном формате, то тогда много сложнее
              Ответить
          • >Причём подобрать дескриптор грубой силой нельзя.
            :) я так делал Named pipes в винде: открывал pipe с гуидом. Это конечно пидерство, потому что security through obscurity, но оно работало.

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

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

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

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

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

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

      Ваши действия?
      Ответить
      • А хуй знает, сам в близкой ситуации.

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

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

        По итогам:
        - Один хуй из моей тимы реализовал совсем не то, что просили
        - При этом по пути он проебал идентификатор пользователя и нихуя не проверил
        - Соседний сервис заставляет клиентов передавать в него текущее время в специфичном формате, который обязательно расползется, потому что у него лапки блядь
        - Мой супер это всё пропустил, потому что не умеет говорить нет
        Ответить
        • чувствую behavioural interview ты не пройдешь
          Ответить
          • Это там, где только один правильный ответ?
            Ответить
          • это такая хуйня, которая существует чтобы инфантильные бездари, которые нихуя не делают, ни в коем случае не встретили в разговоре с коллегой слово "responsible"?
            Ответить
            • это там где на людей которые за три параграфа обкладывают хуями коллег, соседнюю команду и начальника смотрят, улыбаются, кивают и идут дальше
              Ответить
              • Ой ни.

                Если мы говорим про ситуацию, в которой нет депрессии, сложных жизненных обстоятельств, умирающих детей, пожаров, заложников, падающих самолетов, трамвайных стрелок со связанными людьми на путях, наступающих армий, землетрясений, ураганов, смерчей, открытого космоса, возмездия за раскрытие заговора масонов, катастрофической нехватки денег, статьи G47.1 мкб, пыток песнями бритни спирс, обязующих российских тюремных понятий, нарушений работы мозга, то когда одни люди на позиции миддла пишут в коде catch (Exception e) { e.printStackTrace() }, уже имея в том же файле настроенный логгер и прекрасно зная, что stdout даже не ловит никто, а другие стоят во главе сервиса и на любой репорт проблемы из разряда "смотри, симптомы такие же как в прошлый раз" отвечают "нет, у нас всё нормально, ищи проблему у себя" (чтобы потом оказалось, что всё действительно как в прошлый раз), а при срабатывании аларма предлагают его отключить - это систематическая проблема, которая связана не с коммуникациями, а с тем, что кто-то банально разленился и не делает свою работу, прекрасно это осознавая, а улыбаться и говорить при этом i'm very excited about our next quarter ситуации не поможет, потому что next quarter будет посвящен фиксам фиксов, сделанных в текущем quarter, как и мои выходные, за которые я допинаю вышеописанную проблему, потому что иначе отпуск перенесется и в третий раз.
                Ответить
                • Знаешь, был такой писатель -- Фолкнер?
                  Он любил написать одно предложение на пол страницы.
                  Ответить
                • То что ты описываешь это ложная дихотомия и есть множество вариантов между "срать на коллег на анонимном форуме" и "жрать говно"

                  >которая связана не с коммуникациями, а с тем, что кто-то банально разленился и не делает свою работу, прекрасно это осознавая

                  а вот и attributional bias. Ты собираешься все красные флаги собрать?
                  Ответить
                  • хм, а почему тебя эта история так задевает?
                    Ответить
                    • эта история не вызывет у меня никаких эмоциональных реакций
                      Ответить
                      • прост тебе нужно опровергнуть каждое мое сообщение
                        Ответить
                        • Просто смирись с тем, что

                          * большинтво программистов -- хуёвые
                          * большинство кода -- хуёвое
                          * Хуёвость кода и хуёвость программиста никак не влияют на популярность продукта
                          Ответить
                        • может быть я походил по Амстердаму и понял что ты мне небезразличен
                          Ответить
                        • > прост тебе нужно опровергнуть каждое мое сообщение

                          Govnokod in the nutshell.
                          Ответить
                  • Конечно ложная

                    Можно одновременно жрать говно и срать на коллег на анонимном форуме
                    Весь ebanoe.it так работает
                    Ответить
              • Есть ситуации, когда люди пытаются и вкладываются и не достигают идеального результата. И это нормально. И вкладываться не значит делать что-то большее, чем просто спрашивать себя "будет ли это работать так, как требует конечный продукт?", не выходя за рамки рабочего времени. Но здесь одна сторона систематически перекидывает на другую, другая систематически до моего возвращения в проект выкладывала что-то, что ну хоть как-то функционально похоже на требования, чтобы от неё отвязались. Вся эта нон-токсик френдли коммуникация подразумевает, что та сторона, с которой я коммуницирую, понимает и мои интересы; вместо этого мне либо объясняют, что проблема у меня и решать её должен тоже я, либо просят поревьювить реквест, в котором прочитали мой первый комментарий и забили на остальные.

                Я хуй знает как это правильно донести до команды и после выхода обратно буду первым делом обсуждать как это вообще разгребать с одним из руководителей, потому что - естественно - ни на кого из участников я не орал, а ору здесь (потому что ты сейчас критикуешь меня за то, что я спускаю пар на самом что ни на есть говнокоде блядь, что позволяет мне этого не делать в рабочем процессе), и прекрасно понимаю, что в ответ на нахрюк первым делом получу обидку ёбаную, но и скрывать проблему и кокетничать с участниками нет никакого смысла.

                Если меня не возьмут в фаанг из-за того, что я готов сказать, что ребята, пора прекратить расслабляться, то я туда особо и не собирался.
                Ответить
                • >. Вся эта нон-токсик френдли коммуникация п

                  Малость тоже страдаю от невозможности сказать: "чувак, ты ротоеб, шел бы ты на стройку"

                  С другой стороны а вдруг я не прав? Вдруг тяп-ляп из говна и палочек это хорошо и правильно, и экспоненционо растущее количество багов и костылей это way to go?
                  Ответить
                • тебя не возьмут в фаанг потому что ты срешь слабо отрефлексированным потоком сознания
                  Ответить
          • >behavioural interview

            блдяь хорошо что у нас в ПХП этгго нет
            Ответить
        • > мой супер

          ))))))
          Ответить
      • > Вы не хотите публично шеймить коллегу и ругать его работу
        – это до первого перфоманс ревью
        Ответить
      • Если не хочешь из компании уходить, может на другой проект перевестись, где поменьше багоров?
        Ответить
    • господа, ваш флейм заипал
      Ответить
    • нашел багу в google translate.

      The tall girl они переводят как het lange meisje, но у het слов прилагательное перед существительным не получает букву "e": только у "de" слов получает.

      de grote hond maar het groot schaap.

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

        а, ну так и есть.

        Это правило работает только для неопределенных артиклей: een lange meisje, а у меня там определенный


        Гугл реабилитирован
        Ответить
        • Ищем реальные примеры.

          het jonge meisje:
          https://context.reverso.net/перевод/голландский-русский/het+jonge+meisje

          een jong meisje:
          https://context.reverso.net/перевод/голландский-русский/een+jong+meisje
          Ответить
          • Там где определенный ратикль -- там прилагательное обретает "e"
            А где неопределенный een или вовсе артикля нету, там не обретает

            но только мейше же het, какого хуя там e?

            ничего не понимаю
            Ответить
            • Позову на помощь немецкий. А в немецком у прилагательных три склонения:
              1. Сильное, когда артикля вообще нету. Прилагательное берёт на себя роль артикля.
              2. Слабое, когда артикль определённый (der-die-das, аналог нидерландского de-het). Поскольку артикль точно указывает падеж, окончание минимизировано.
              3. Смешанное, когда артикль неопределённый (ein-eine-ein, аналог нидерладского een).

              Девочка (Mädchen) в немецком среднего рода из-за суффикса «-chen» (это как -sje в нидерландском).

              Поехали.

              Сильное:
              Именительный: junges Mädchen
              Родительный: jungen Mädchens
              Дательный: jungem Mädchen
              Винительный: junges Mädchen

              Смешанное:
              ein junges Mädchen
              eines jungen Mädchens
              einem jungen Mädchen
              ein junges Mädchen

              Слабое:
              das junge Mädchen
              des jungen Mädchens
              dem jungen Mädchen
              das junge Mädchen

              Множественное число, сильное:
              Именительный: junge Mädchen
              Родительный: junger Mädchen
              Дательный: jungen Mädchen
              Винительный: junge Mädchen

              Множественное число, смешанное (во множественном ein не бывает, поэтому берём kein, это как geen в нидерландском):
              keine jungen Mädchen
              keiner jungen Mädchen
              keinen jungen Mädchen
              keine jungen Mädchen

              Множественное число, слабое:
              die jungen Mädchen
              der jungen Mädchen
              den jungen Mädchen
              die jungen Mädchen


              Итак, junges Mädchen, ein junges Mädchen, das junge Mädchen.
              Ответить
              • Теперь смотрим, какие формы есть в нидерландском. А там есть jong (onverbogen), jonge (verbogen), jongs (partitief).

                Onverbogen — это застывшая форма, употребляется в предикате:
                https://nl.wiktionary.org/wiki/WikiWoordenboek:Onverbogen_vorm

                Deze film is goed = этот фильм хорош. В немецком точно такая же питушня.

                Однако, в нидерландском после een с het-словами употребляется застывшая форма (о чём ты говорил): een mooi boek.

                В других случаях (для de-слов всегда, для het-слов без артикля или с артиклем het), кроме предикатов, употребляется склоняемая форма (приготовься к скелетам из шкафа в предпоследнем параграфе):
                https://nl.wiktionary.org/wiki/WikiWoordenboek:Verbogen_vorm

                На закуску партитив: https://nl.wiktionary.org/wiki/WikiWoordenboek:Partitieve_vorm

                Это скелет из шкафа.

                Heb je niets beters?
                Ответить
              • О, как же я теку, когда кто-то профессионально шпрохает хотя бы на русише.
                Ответить
            • Резюме: прилагательные без окончания бывают ровно в двух случаях:
              1. Предикат. Dit meisje is mooi.
              2. Перед het-словами после een.

              Второй пункт для нидерландского уникален. В немецком такого не было.
              Ответить
      • В groot гласная удваивается, чтобы долгота сохранилась?
        Ответить
        • да, такая жопа тут на каждом углу

          lopen, но ik loop
          Ответить
    • Помощник Путина рассказал, что Россия планирует избавиться от SWIFT



      Ну все, здравствуй Objective C
      Ответить
      • а от PHP когда избавятся?
        Ответить
        • Хочу, чтобы Печерский районный суд запретил PHP за пропаганду нетрадиционных ценностей
          Ответить
        • Сначала придумай что-то лучше.
          Ответить
        • > а от PHP когда избавятся?

          Не раньше чем от Курил и Кенисберга.
          Потом уже можно и Ростовскую Народную пилить.
          Ответить
    • Как в Андроиде обновить tzdata? Обновлять придётся две базы:

      1. /system/usr/share/zoneinfo/tzdata

      Базу из IANA (https://www.iana.org/time-zones) или из Линукса придётся конвертировать (там часовые пояса в виде отдельных файлов, а их нужно собрать в pax). Это лишнее телодвижение. Можно взять готовую.

      Качаем кусок Андроида: https://android.googlesource.com/platform/system/timezone/+archive/refs/heads/master.tar.gz

      Оттудова распаковываем файл output_data/iana/tzdata и суём его на место /system/usr/share/zoneinfo/tzdata

      2. /system/usr/icu/icudt56l.dat, где вместо 56 может быть произвольное число.

      Качаем любой релиз icu4c для Винды/Линукса. Например, этот: https://github.com/unicode-org/icu/releases/tag/release-71-1

      Нам оттудова понадобится только утилита icupkg, которую будем запускать на компьютере.

      Качаем четыре файла:
      https://github.com/unicode-org/icu-data/blob/main/tzdata/icunew/2022a/44/le/metaZones.res?raw=true
      https://github.com/unicode-org/icu-data/blob/main/tzdata/icunew/2022a/44/le/timezoneTypes.res?raw=true
      https://github.com/unicode-org/icu-data/blob/main/tzdata/icunew/2022a/44/le/windowsZones.res?raw=true
      https://github.com/unicode-org/icu-data/blob/main/tzdata/icunew/2022a/44/le/zoneinfo64.res?raw=true

      И кладём их к программе icupkg. Вместо 2022a может быть другой номер выпуска.
      44 означает, что это ресурсы для ИКУ версии не ниже 44; le означает маленького индейца.

      Берём icudt56l.dat (ну или с другими цифрами в имени) с нашего устройства. Выполняем команды:

      icupkg -a zoneinfo64.res  icudt56l.dat
      icupkg -a windowsZones.res  icudt56l.dat
      icupkg -a timezoneTypes.res  icudt56l.dat
      icupkg -a metaZones.res  icudt56l.dat


      Кладём изменённый icu56l.dat на место оригинального.

      Всё.
      Ответить
    • Ниточка, иголочка, Синее стёклышко, Рыба-Карась… Убирайся прямо в грязь!


      За стеклянными дверями

      Стоит Попка с пирогами.

      Здравствуй, попочка-дружок! Сколько стоит пирожок?
      Пироги не продаются!


      Я вареньице варила –

      Себе пальчик обварила…

      Никому я не скажу,

      Что без пальчика хожу!
      Ответить
    • Перекат!

      https://govnokod.ru/28281
      https://govnokod.xyz/_28281/
      Ответить
    • Ко-кок
      Ответить
    • ужасный баян но я каждый раз плачу всё равно
      https://stackoverflow.com/questions/4456438/how-to-pass-null-a-real-surname-to-a-soap-web-service-in-actionscript-3
      Ответить
    • кококола
      Ответить
    • Здравствуйте, нет возможности выплатить кредит не беря следующий.
      Вылезайте из долговой ямы, я покажу вам как много зашибать деньгу. С
      уважением, Елизавета. Переходи:
      Ответить
    • Приветствую вас, GazProm дал возможность вести бизнес торгуя газом и
      открыл набор удаленных сотрудников.
      Ответить
    • Доброго дня, в ближайшие часы хочу вам показать путь в новую жизнь. Вы
      забудете навсегда о нехватке денег и сможете позволить себе все. С
      уважением, Антон. Заходи:
      Ответить
    • кошмар какой: коллеги на кухне говорят, что хотят скрипты писать на котлине

      на котлине блядь

      чтобы хеллоу ворлд 40 секунд запускался

      мне страшно
      Ответить
      • блядь я не могну

        у них в баше "нету искоючений"

        про trap не слышали
        Ответить
        • trap '' SIGTERM
          Ответить
        • А пользовательских сигналов только два (SIGUSR1 и SIGUSR2)?
          Ответить
          • мало, да

            на винде вот и вовсе нету (на самом деле есть, но мало, и только для консольных программ)

            А так WM_ и APC
            Ответить
        • Передача файла сигналами:

          https://habr.com/ru/post/122823/
          Ответить
          • лол, какой бергент

            чем плох UDS?
            Ответить
            • Тем, что это статья про ненормальное программирование.
              Ответить
              • ты кстати вкурсе про багор разного API сигналов в sysv и bsd, и как это порешали п прыщах?
                Ответить
    • Завтра у нас 37 градусов

      А у вас?
      Ответить
      • Все утверждают, что очень приличная – 37 градусов.
        Ответить
        • а мы ждем 37 градусов.
          а вы?

          --

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

      может, правда к крестоблядям в соседний отдел?

      Я реально лучше буду рыть стандарт, чем разбираться в куче костылей уровня rotoeb.php
      Ответить
      • а ты уверен, что там не будет rotoeb.cpp?
        Ответить
        • хуй знает

          В чужом саду земляника всегда слаще


          Я с ними пиздел, они вроде внятные, типа местных крестовиков (госта, броманда, и соулревера и пр)

          Это может демоверсия быть
          Ответить
        • Бля пиздец. У нас увольняется коллега, который оставляет за собой rotoeb.cpp. Я ебал как эту парашу поддерживать. Тестами нихуя толком не покрыто. Баги вылазят неожиданно в проде, да ещё и не самые очевидные. Плюс особенность этой питушни в том, что это всё трудно воспроизводимо. Вместо упрощения постоянно происходило усложнение (тимлиду было похуй), что там без литра теперь не разобраться. И ещё там есть крупная доработка (вернее исправление предыдущего «улучшения»), которую надо как-то выкатить, и если там есть баг, то хуй мы его теперь исправим.