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

    0

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

    #122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
    #123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
    #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

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

    Комментарии (765) 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.
      Остерегайтесь подделок. Берегите себя и своих близких. Кок!
      Ответить
    • Почему все, кто пишут на C++, рано или поздно начинают говорить в женском роде?
      Ответить
      • Никогда не замечала.
        Ответить
      • У меня это вызывает лютый баттхёрт. Создаешь, видите ли, образ в сознании, потом оказывается, что шаблон сломан. Какой багор - прости господи!..
        Ответить
      • Опровергаю.
        Ответить
      • А разгадка проста:
        Однажды, давным давно, говнокод сошелся во мнении, что на крестах пишут только пидорасы.
        https://govnokod.ru/6946#comment92255
        Ответить
    • Ненавижу. Захотел выяснить, зачем пустые ресурсы в моем файле, пошукал
      https://www.google.com/search?q=.res%20file%20format
      а там Что такое .res file? Чем открывать .res file? Многие спрашивают каков .res file format, в этой статье мы рассмотрим особенности .res file format. Просто скачайте Shareware Pro Deluxe с поддержкой .res file format. Была ли эта статья полезной?
      Даже сраная куцая микромягкая дока куда-то вниз сползла под напором этих говен.
      Ответить
    • Нашёл дефекейта

      https://t.me/richarliss
      Ответить
    • https://habr.com/ru/post/670542/
      IvanSTV
      9 июня в 14:14

      Почему я не вошел в IT
      […длинная душещипательная история…]

      wildhedgehog
      11.06.2022 в 11:00
      Я после тыщи лет аж залогинился, чтобы полайкать.
      
      ДА, блядь, ТЫЩУ РАЗ ДА!
      
      Если тебе 40 и ты хочешь даже не радикально сменить сферу, а просто пойти
      в смежную — скорее ты идёшь просто нахер. Даже при наличии знаний и опыта.
      Даже при наличии хороших знаний и в разы большего опыта.
      
      После каждой попытки устройства на работу думаешь, что же с тобой не так.
      
      Но.
      
      На самом деле с тобой все так. Просто большая часть работодателей конченые.
      Это и автор написал: он оставил и скрипты, и мануал, но ими никто не пользуется.
      
      В этом и секрет того, почему все через жопу.


      [соседняя ветка]
      IvanSTV
      09.06.2022 в 16:03
      где-то так и есть. Правда, я прорвался один раз через первичку на аналитика.
      Дошел до второго собеседования, и неожиданно оказалось, что я должен буду
      им сервер с нуля поднять и на нем БДшку развернуть, а потом в ней уже анализировать :)
      Когда я спросил - а помогут ли админы с технической частью, чувак ответил, что нет, все сам.
      Тогда я ему сообщил, что ему в первую очередь нужен не аналитик, а инженер по БД.
      Ответить
      • > конченые работодатели, не хотят брать сорокалетних джунов
        Сорокалетний джун: «…Тогда я ему сообщил, что ему в первую очередь нужен не аналитик, а инженер по БД».
        Ответить
      • Я всегда хотел стать программистом, но вместо этого пошел на работу, скорее физическую, напрямую с программированием не совсем связанную... И вот, спустя двадцать лет, я все таки решил вернуться в программирование. Но по какой-то причине работодатели смотрят на меня косо, и что-то подозревают

        Самое отвратительное, что работодатели ждут от программиста и знания СУБД и умения запускать компилятор и настраивать себе IDE, хитренькие какие!
        Ответить
        • Но как-то странно на него
          Смотрели местные собаки.
          Ответить
        • >настраивать себе IDE

          подскажите как настроить indellij idea чтобы она не висла на самом жирном м1 макбуке

          размер кучи уже увеличил
          Ответить
          • Купить компьютер, а не огрызок яблока.
            Ответить
          • Предлагаю не использовать тормозные жабаподелки от жидбрейнса
            Ответить
            • если емакс плагинами довести по функциональности до уровня ide типа идеи, он будет тормозить не меньше
              Ответить
          • Да, жидбрейнсы еще что-то пиздели про клиент-серверность, ну т.е. чтобы всякое тормозящее жабаговно крутилось на каком-то сервере, а на клиенте (т.е. у тебя на макпуке) тупо отрисовывалась эта поебень. Можешь проверить https://blog.jetbrains.com/ru/blog/2021/11/29/introducing-remote-development-for-jetbrains-ides/
            Ответить
            • Надо на EC2 нанять инстанс T3.large, а на макпук поставить Windows 11 и шкодить на нормальном пирфомансном компе через RDP.
              Ответить
          • не пользуйся вебстормом

            Кстати, ik ben im Asmstelveen.
            Ответить
            • welkom in een fatsoenlijk land
              Ответить
              • слова fatsoenlijk я пока еще знаю, но dank je (или u?)
                Ответить
                • но блядь дифтонги и de/het это пиздос
                  Ответить
                • u, насколько понимаю, кроме письменной речи и в работе официантом не понадобится вообще
                  Ответить
                  • ну я понял, что это такое уважитильное "Вы", но хз когда его нужно употреблядь
                    Ответить
                  • А как сказать «самая большая в Европе мечеть»?
                    Ответить
                • ебать вы уже лучше меня нидерландский знаете
                  Ответить
          • ты версию правильную поставил? у них есть тдельно под м1.
            Ответить
            • я поставил arm версию. Наверное на любой другой оно б и не запустилось?
              Ответить
              • через розетту вроде как запускается самый обычный х86 жвм, в котором может запускаться идея (и срать предложениями скачать версию под арм)
                Ответить
                • в смысле там яжа не под m1????? ИЗДЕЦ ТОГДА наверное тормозит


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

                      Я вообще не очень копенгаген, там же просто берешь шланг, и собираешь сишкин код под макось как ни в чем не бывало?
                      Ответить
                      • угу, а там в сорцах в сложных #ifdef-ах не прописана нужная архитектура. тут план "как ни в чем не бывало" и накрывается пиздой
                        Ответить
                        • нужно завязаться на мемори модел и на размер инта и указателя это же очевидно что он везде одинаековый
                          Ответить
          • отключил половину плагинов, стало лучше
            Ответить
        • У меня в контроллерах нет никаких "СУБД".
          Ответить
      • Ваш складской бэкграунд и знание программирования поможет на позиции кладовщика в компании с большими складами
        Ответить
      • Пришлось идти в 1с, там нас всегда ждут :D Противно, но что делать? Если повезет, раз в году, можно прикоснуться к разработке на человеческих языках C++, C# (Native и COM компоненты), можно в MS SQL заглянуть. Но это, конечно, не совсем IT и никакого роста до серьезного стека технологий, развития и прокачки.
        Ответить
    • А до винхелпа был некий Advisor, сейчас буду на него смотреть.
      Ответить
    • Херасе, в какой жопе они...

      Boric became president after a nasty election in December in which violent leftists assaulted multiple of his conservative opponent’s campaign events, the culmination of three years of leftist rioting that began as an alleged protest against Santiago public transportation fare hikes. Boric, 36, rose to prominence as a Marxist student protester and has described himself in the past as “to the left of the PC [Communist Party].”
      Ответить
      • А чем упомянутые факты мешают нормально жить и дышать?
        Ответить
    • хули мне абанить то блять?! я о тебе в третьем лице должен думать что ли?? пиздец просто. ебать ты лох - вот так пишешь себе и всё равно это тебя заебывает! дабл лоу
      Ответить
    • нацисткое сало скачет по селу и ебет хохлушку. дабл это когда украинцы жрут людей на потеху хрюшкам но я даже не знаю насколько нацистской страной мне видится подобная хуйня... ну
      Ответить
    • Чота в голос с пикчи
      https://media.breitbart.com/media/2022/06/GettyImages-971697602-640x480.png

      Хотя новость там не менее охуительная
      A major branch of Britain’s socialised medical system has been revealed to be granting healthcare contracts based on scores determined by far-left LGBTQ+ charity Stonewall rather than just the quality of products or care.
      Ответить
    • русний дiло вiн пидорас и хохлотред ты сам себя слышишь - русни не существует. твой враг хохол по любому слову тебя высмеивает тебе похуй что напишет москаль или х
      Ответить
    • аааахахахах бля у меня теперь от того что эту хуйню написали горит жопа. я хуею с этой параши нахуй! это же настолько кринжово!!! нужно снять видос и выложить!!!! не
      Ответить
    • Как в google earth pro переключиться на карту?
      Ответить
    • В полномочия ГУОР (Главного управления оперативного реагирования), по словам Волк, войдет, среди прочего, «обеспечение правовых режимов военного положения» в случае, если оно будет введено в стране.

      Помимо обеспечения военного положения, сотрудники ГУОР будут ориентированы на участие органов системы МВД в обеспечении чрезвычайного положения и мероприятий территориальной обороны, а также режимов контртеррористической операции.
      Ответить
    • Ёбаный пиздец.
      Приходил SENIOR ROTOEB C++ SOFTWARE DEVELOPER с 20+ опыта.
      Блядь, он не может понять почему O(n^2) это хуево и о существовании map и не догадывается
      Такого пиздеца я ещё не видел
      Ответить
      • Но C++ знает неплохо, по правде сказать
        Но толкьо 2003
        Ответить
        • >C++ знает неплохо
          >о существовании map и не догадывается
          возможно, вы имели ввиду "C89"?

          Ну может конечно он его в 1991-м году учил, пока не было STL, но про сложность алгоритвмов то как можно незнать??
          Ответить
      • > о существовании map и не догадывается

        map как-то позволяет спастись от O(n²), или это не связанные проблемы?
        Ответить
        • > map как-то позволяет спастись от O(n²), или это не связанные проблемы?
          она позволяет O(n²) в O(n·log n) превратить зачастую, по сравнению с хранением в несортированном векторе.
          Ответить
      • > 20+ опыта
        То есть застрял на уровне 98 года?
        Ответить
      • Кстати, он был контроллерщик-эмбедщик
        Ответить
    • Did you know that in the Android SDK there is a function called 'isUserAMonkey' and another called 'isUserAGoat'?
      https://developer.android.com/reference/android/app/ActivityManager.html#isUserAMonkey()
      https://developer.android.com/reference/android/os/UserManager.html#isUserAGoat()

      What are they? What do they do?
      Ответить
      • Проверил. На моём устройстве обе функции вернули false. Видимо, потому что я не Goat и даже не Monkey, а nemyx.
        Ответить
        • isUserAGoat просто возвращает false, а isUserAMonkey проверяет не находится ли устройство в режиме тестирования хаотичного ввода, чтобы случайно не выключить/сбросить устройство или позвонить куда-то в середине тестирования.
          Ответить
          • Не совсем так.

            The Android SDK also contains another strange function called 'isUserAGoat'.

            Are you a Goat? Press to check!

            This function, which was added in Android 4.2 (previously it didn't exist) was, according to the official documentation:
            “Used to determine whether the user making this call is subject to teleportations.
            Returns whether the user making this call is a goat.”

            Originally the function always returned false, which could had been used as an internal joke, or an easter egg, or perhaps as a tool for coding purposes (the compiler removes code which is known to never execute, like ‘if(false)…’ but sometimes you do need that code in the final app, so calling instead a function avoids the compiler code deletion process).

            When Android 5.0 was released, this function changed to check whether the user had installed the ‘Goat Simulator’ app, probably to confirm the joke, with the message:
            “As of LOLLIPOP, this method can now automatically identify goats using advanced goat recognition technology.”

            Strangely, when Android 11 released, this function was changed again to always return false with description:
            “As of R, this method always returns false in order to protect goat privacy.”
            Ответить
          • А про обезьяну всё так.

            The android SDK contains a strange function called ‘isUserAMonkey’.

            According to the official documentation:
            “Returns ‘true’ if the user interface is currently being messed with by a monkey.”

            Internally this function checks for a test suite program, called ‘monkey’, that tries to press randomly on the screen (like a monkey). This is usually used for automatic tests, so this function could be used to see if such test is running or not.
            Ответить
          • Ссылки на симуляторы обезьяны и козла.

            https://developer.android.com/studio/test/monkey.html

            https://play.google.com/store/apps/details?id=com.coffeestainstudios.goatsimulator


            Полезняшки:

            https://github.com/TrianguloY/isUserAMonkey

            https://github.com/vitorOta/Android-Documentation-Easter-Eggs
            Ответить
          • Мои предположения были:

            user making this call is subject to teleportations (козел скачет) - если данные, например, GPS менялись скачкообразно, они могли эмулироваться под управлением пользователя, и им верить нельзя. Для вещей типа Pokemon GO (ножками идите, ножками).

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

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

              лучше ещё раз отменим дизлайки
              Ответить
        • Ну наконец-то. Я уже заждался.
          Ответить
      • <?php
        function isDeveloperAMonkey() {
        return true;
        }
        ?>
        Ответить
        • #!/usr/bin/perl
          /* g * o * a * t * s * e * x */
          sub isDeveloperAGoat {
              1;
          }
          /* g * o * a * t * s * e * x */
          Ответить
          • bool isDeveloperATGirl() {
                return true;
            }
            Ответить
            • >ATGirl

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

                  Вообще жабоебский кодстайл запрешает перносить скобку
                  А вот шарпеевский напротив -- требует
                  Ответить
                  • Да, для них отсутствие внимания со стороны девушек действительно не проблема.
                    Ответить
                    • для С++сников-то?
                      Ответить
                      • Нет, для питонистов и рубистов.
                        Ответить
                        • рубистам должны и так давать, они же рокзвезды

                          а питонисты скучные, наверное. Как программисты на четвертой жаве
                          Ответить
                          • Потом они спрашивают, почему я за «PHP». Да вот хотя бы поэтому.
                            Ответить
                  • Что вы знаете о говне, если не писали на JS?

                    JS может захуярить неявную точку с запятой, если перенесёшь скобку, и счастливой отладки, суки.
                    Ответить
              • Mica Hayes что ли?

                Вместо того, чтобы котиков постить, растопырили тут свои дрочила...
                Ответить
                • да, пишешь ATDP, и поехали

                  впрочем, может это просто 286
                  Ответить
              • Я в одном фильме такое видел. Там чувак положил чувихе на спину ноутбук и программировал на «Йаже».

                https://youtu.be/n7MoclODHDk
                Ответить
      • Кто такой дид?
        Ответить
    • А есть какое-нибудь блядское расширение для браузера, которое автоматом будет хоть на какой-то части сайтов отщёлкивать хотя бы тумблеры блядского legitimate interest?
      Ответить
      • Фике, я проебал визит в IND за пермитом по причине долбоёбства и неумения пользоваться гуглмэпс

        Мне за это что-то будет? или просто надо перешедулить?
        Ответить
        • Я думаю что никаких проблем не будет, но вообще тебе стоило дойти, даже если бы ты пришел на час-два-три позже, всем в этом плане либо похуй, либо относятся понимающе.
          Ответить
          • хм
            а нахуя тогда писать "15:17", если можно прийти на три часа позже?

            я там был на месте где-то в 15:40 и зассал уже зайти, думаю вдруг там уже другой беженец
            Ответить
            • чтобы ты пришел в плюс-минус 15:15 и в среднем по больнице заполненность совпадала с тем, что могут предоставить

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

                а я еблан зассал зайти, и теперь надо ждать, когда выкинут слоты
                А слоты могут выкинуть через месяц(((
                Ответить
          • как бы ты сказал:
            Ik drinkt geen sap
            of
            Ik drinkt sap niet?

            Меня просто дуолингво захуесосило за второй вариант, хотя на мой взгляд оба допустимы
            Ответить
            • «drinkt» — это же вроде третье лицо?
              Ответить
              • да, t там лишнее
                я протупил

                ik drink, je/ze/hij drinkt, ну а для множественного числа we/ze drinken
                Ответить
            • Похоже на немецкий:
              Ich trinke keinen Saft.
              Ich trinke Saft nicht.

              У немцев разница проявляется в распространённых предложениях.

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

              Отрицательная частица в конце предложения употребляется, когда отрицаешь всё предложение.

              В таких коротких предложениях, как здесь, разницы в смысле не будет. Однако, обычно почему-то предпочитают первый вариант (смотрите, у нас есть отрицательные артикли).
              Ответить
              • Сейчас придумаю пример поинтереснее:

                Kein Schwein trinkt Saft = Ни одна свинья сок не пьёт (а вот кто-нибудь другой, например, человек, пьёт).

                Ein Schwein trinkt keinen Saft = Свинья не пьёт именно сок (а вот помои пьёт).
                Ответить
              • Ты тоже съябываешь за кордон?
                Ответить
              • Ещё вспомнил. В немецком отрицательная частица nicht может находиться не в конце предложения, а сразу после глагола, если нужно подчеркнуть, что отрицаешь глагол, а не всё предложение.

                Ну типа я не сосу петушков на палочке (а грызу).
                Ответить
            • Ik drink geen sap. Если можно сказать с geen, этот вариант как правило выигрывает.
              Ответить
              • Wir haben viel zu tun,
                Wir haben keine Zeit.

                Wij hebben veel te doen,
                Wij hebben geen tijd.
                Ответить
              • Быстро отвечай! Tijd употребляется с de или с het?
                Ответить
                • de
                  https://www.welklidwoord.be/tijd
                  Ответить
                  • А знаешь, почему? Потому что в немецком Zeit женского рода.
                    Ответить
                    • Род как-то слабо влияет на олпределенный артикиль в нидерландском

                      De man, de vrouw, de jongen, но het meisje (вероятно потому, что "je" это уменьшительно-ласкательный)
                      Ответить
                      • В немецком тоже уменьшительно-ласкательный суффикс ВНЕЗАПНО меняет любой род на средний.

                        Нидерландский каким-то чудом унаследовал все подводные камни немецкой грамматики.
                        Ответить
                        • Это же потомки одного и того же германского языка, просто у верхних немцев случился сдвиг согласных, а у нижних -- нет.


                          Но про род у нидерландцев я уже сказал жы:
                          * де ман
                          * де фрау
                          ну они наверное разного рода же?
                          Ответить
                          • У нидерландцев по какой-то нелепой случайности «ди» и «дер» слились в «де». У языка-предка было три рода.
                            Ответить
                            • тут тоже есть рода, но определенный артикль у мужского и женского одинаковый (у немцев -- разный как я понимаю)

                              Вообще говоря понять, почему het water но de melk или почему het boek, но de krant нельзя никак

                              Нужно только запоминать. А еще de всегда у множественного числа, а het всегда у уменьшительных
                              Ответить
              • bedankt
                Ответить
        • Еще одно хуйло понаехавшее?
          Ответить
          • яж рассказывал: мою контору в Роиссе прикрыли, и велелеи съебать в страну тюльпанов, ветрянных мельниц и lekker kaas


            скоро буду с Гнидо на его taal spreek
            Ответить
      • I have a legitimate interest in IRL cookies I can eat
        Ответить
    • в 2004-м году создали рассылку debian-women чтобы там тусили тян дебианщицы
      через 15 лет туды пришел чел, и начал считать сколько там женщи, а скока мужчин
      но тренд уже изменился, и его облажили хуями, потому что мир не бинарен, и женщин не существует
      объяснили ему в рассылке debian-women

      https://lists.debian.org/debian-women/2021/01/msg00001.html
      Ответить
      • Вот пидоры!
        Ответить
      • You can share, copy and modify this manual if you are a woman or you are David Arroyo Men ́endez and you include this note.

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

          * ты эксперт в интересующей меня области
          * оплатишь мне апргейд
          * ты девушка
          Ответить
          • Ты получил у него поинт? Если да, то по какому пункту прошёл?
            Ответить
            • двадцать два года назад я был экспертом разве что в утилите fdisk, и в модуле crt
              Ответить
              • А его эти области интересовали?
                Ответить
                • Знаете кто такие лоурайдеры?
                  Ответить
                  • Погуглил. Это что-то про заниженные хачмобили?
                    Ответить
                    • Ты что, не играл в GTA San Andreas?
                      Ответить
                      • Играл в какую-то GTA, но давно. Пиздишь крутую тачку, чтобы добраться до места, мочишь всех подряд, чтобы потом получить копеечное жалование.
                        Ответить
                        • я играл в первую гта как раз во время описываемых выше событий

                          там был вид сверхзу
                          https://www.youtube.com/watch?v=ahOIJNLLtkI
                          Ответить
                          • Ебать ты олд
                            Ответить
                            • Я недавно общался с коллегой, который родился в тот год, когда я впервые увидел борланд паскаль
                              Ответить
              • Кстати, ты помнишь, что если используешь одновременно модули graph и crt, то чтобы использовать в графическом режиме Read и ReadLn, нужно предварительно сделать DirectWrite := 0; ?
                Ответить
                • не помню, но помню, что я делал WriteLn в граф режиме, и он работал, но шрифт был ужасен

                  видимо я уже не эксперт в crt :(
                  Ответить
                  • Тогда была жопа с русификаторами. Не все умели во все граф. режимы.

                    Надёжнее было найти русифицированные векторные bgi-шрифты. Я нашёл даже с русифицированной фрактурой (готикой), но когда уже вуз закончил.
                    Ответить
                  • Но может быть ты сможешь объяснить нахуй нужен "_CRT_SECURE_NO_WARNINGS"?
                    Ответить
                    • Два человека разговорились про CRT
                      Один думал, что говорит про модуль borland pascal, а другой -- что про C RunTime от Microsoft.

                      Смеху-то было

                      ps: а я их слушал, и думал, что они говорят об электронно-лучевом мониторе
                      Ответить
              • > двадцать два года назад
                > в модуле crt
                Не мог быть, он был уже сломан.
                Ответить
                • Кто сломан? Да, оригинальный модуль crt падал на компьютерах с частотой процессора выше 300 МГц.

                  Но вдруг у него комп был старый или модуль crt пропатченный?
                  Ответить
                  • К слову, у нас в вузе двадцать два года назад основными компьютерами были 486 и первые пентиумы. Кое-где даже 386 и 286 сохранялись.

                    Два компа в дисплейном классе были NEC V20 или V30 — что-то типа первого писи. На них даже Нортон Коммандер и IDE Борманд Паскаля притормаживали.
                    Ответить
                    • ну так 486-е для вуза были збс тогда: turbo C на них отлично работало, а что еще нужно для обучения?
                      Ответить
                      • На 486 и Винду можно было изучать...
                        Ответить
                        • 311-ю -- легко
                          95-ю я лично ставил на 486, она работала, но подтупливала (там правда было 4 метра памяти)

                          nt4 у нас была на 486, и грузилась вечность

                          все 486 вроде были 20Mhz и DXы


                          алсо, на тройках и четверках было бесчисленное количество SOHO роутеров на фре и линуксе. Коробочек тогда не было, облаков -- тоже, и потому в любой конторе в углу стоял такой вот комп с sendmail, apache, squid и маршрутизатором в Интернет
                          Ответить
                          • Четвёрки на 20 МГц были? Я видел 386 на 40 МГц (это вроде предельное, чего достигли на 386).
                            Ответить
                            • были. Были еще SX и DX: у первых шина памяти вроде была 8 бит.
                              Ответить
                • чувак, в 2000-м году у меня был еще 166-й

                  650-й появился в 2001-м
                  Ответить
                  • да помню так и было... а мой первый комп был спектрум с Z80
                    Ответить
                  • У меня тоже был 166, но Klamath.
                    А вообще я читал, как один любитель старого говна жаловался, что баг обнаружили в 1994, но броланд не попятчил.
                    Ответить
          • Что такое «поинт»?
            Ответить
            • Это лист графа, связанный с единственным ребром. В отличие от ноды, которая является узлом и имеет несколько связей.
              Ответить
              • И в чём его преимущество?
                Ответить
                • перед чем?
                  Ответить
                  • Перед остальными нодами
                    Ответить
                    • нода это член сети, примерно как владелец публичного IP адреса. У него определенные обязательства и права.

                      Поинты сидели за ним, как за натом, и по правилам считались его виртуалами.

                      У поинтов не было права выбирать координаторов, но и обязанностей особо не было.


                      Ну и телефон ноды был в нодлисте, он должен был держать ZMH, принимать звонки и пр. Поинтового номера нигде не было, все общение было чисто через ноду (поинт звонил, и с ноды собирал почту)
                      Ответить
                      • Кстати, нодлист — это же деанон. В нём городской телефонный номер.
                        Ответить
                        • >деанон

                          а ничего, что в фидо ты должен был полным именем подписываться?

                          Выебываться могли только поинты, а ноды никогда реального имени не скрывали
                          Ответить
                          • И с реальным именем писали о политике.

                            Никаких SSL/TLS, SSH, VPN...
                            Ответить
                            • ну потому что вся сеть держалась на кооперации. Если ты посылал кого-то нахуй, то тебя просто экскоммуницировали, и всё.

                              Уникальность фидо была именно в том, что люди бесплатно своими силами пилили сеть, продумывали маршрутизацию, и все поддерживали.
                              Ответить
                    • Если у тебя одна связь, ты в ФИДО бесправный поинт, у тебя номер после точки. Но зато и обязанностей нет, ты не должен держать комп и момед включенными в ZMH. А вот нода должна, иначе как от неё уйдёт почта к другим нодам.
                      Ответить
              • > лист графа
                #музыка
                #феодализм
                Ответить
      • Похоже, чувака таки отменили и забрали дольмен в пользу ССР
        http://www.damegender.net/#stats
        Ответить
    • Петербуржец случайно убил себя бутылкой по голове
      Ответить
    • Это вообще нормально, что подключенный по usb wd black (nvme, в простое) греется как тодд говард при виде человека без скайрима?
      Ответить
      • >по usb
        >nvme
        лолшто?
        Ответить
        • лолхуечто. я его вставлю в ноут во время отпуска основным диском, а сейчас мне просто нужно слить куда-то всё с гугл драйва, чтобы отменить подписку и сделать новую. в факе у них нихуя не написано, что случится, если её отменить, а перенести с российской на нидерландскую нельзя, потому что российскую нельзя менять вообще в принципе.
          Ответить
    • Прыщепидр, ты где там? Попробуй ка отфильтровать iwlist scan по какому-то параметру и вывести только нужные поля в результате.
      Ответить
      • питушок, используй пожалуйста iw(8)
        Ответить
      • Прыщепидр, ты где?
        Ответить
        • Здравствуйте,
          С вами говорит автоответчик.
          Прыщепидор занят, он ебет вашу маму.

          Пожалуйста, оставьте свое сообщение после гудка.
          Пиииип
          Ответить
      • Vistefan, вас вызваают.
        Ответить
      • Бамп отсосу прыщеблядей!
        Ответить
      • Бамп отсосу прыщеблядeй!
        Ответить
        • Урааа! У нас есть тред отсоса прыщеблядей! Сос-сос!
          Ответить
          • А я не люблю сосать. Я люблю грызть. Одна свинособака съедает два фунта сырого мяса в минуту.
            Ответить
            • Metric, motherfucker! Do you speak it?
              Ответить
            • Волк поймал зайца
              --соси
              -не умею
              --соси
              --не умею!
              --соси, как умеешь
              --ну ладно, хрум хрум
              Ответить
      • Бамп отсосу прыщеблядей!
        На винде это выглядело бы как-то так:
        gsv | Where-Object {$_.Status -eq 1}
        Ответить
        • во-первых gsv это список сервисов, причем тут iwscan?

          во-вторых если уж ты хочешь найти все стопнутые то можливо еще короче
          gsv |where Status -EQ 1
          Ответить
          • Я пример привожу, как работает помершелл. А на прыщах только регулярочками? А если не по объекту на строку?

            Что меня бесит в помершелле - это вот эти 100500 способов записи одного и того же. Что такое where? Алиас на Where-Object? Когда нужны фигурные скобки?
            Ответить
            • только регулярочкамми или глобами, но бывает еще так, что какие-то утилиты сами имеют язык фильтров (всякая сетевая шняга на основе ebpf например)

              where это алиас, еще есть алиас для форыч например

              скопки нужны когда scriptblock, по сути это как block в руби и перле или как лямбда много где

              https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/where-object#example-3-get-processes-based-on-process-name
              Ответить
              • И кому в пизду надо к каждому говну язык учить? Это же мозгами ёбнуться можно.
                Отсос уже засчитывать?
                Ответить
                • ну ebpf работает в ядре и быстро. Им там можно фильтровать tcpdump всякие, вроде еще ss, но документации нет (как у современных прыщей и принято)

                  виндовый netmonitor небось тоже язык имеет
                  Ответить
                  • Я не настройщик интернета же.
                    Ответить
                    • то-то у тебя интернет расстроенный весь, и фальшивит
                      Ответить
                      • Если у тебя расстроен интернет - поменяй провайдера.
                        Ответить
        • И ты реально наезжаешь на прыщи? Что это, блядь, за ПОЕБЕНЬ?
          Ответить
      • Бамп отсосу прыщeблядeй!
        Ответить
        • ну ты покажи мне как ты из ПШ список сетей получишь

          зы:
          АХАХАХАХАХАаааааааа
          https://mcpmag.com/articles/2017/06/22/viewing-wireless-networks-with-powershell-legacy-commands.aspx

          >$RegEx = @'

          ты нереально соснув


          Хотя конечно пирдоль с netsh не нужна, стопудово есть WinMD/.NET/COM API
          Ответить
          • Да ты туп. На винде нету команды повершелл, но хотя бы есть сам повершелл. А нетш из времён доса какого-то.
            Ответить
            • дурачок, ты настолько дурачок, что умудрился обосраться, и даже этого не заметить!

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

              Алсо, netsh конечно не из доса (там был правда net при установке клиента сетей MS) , netsh эт NTвая утилита для работы всякого говна с сетью. Она косплеит понятия контекста, напоминая сиську
              Ответить
              • Дурачок, команда была дана только для примера данных, чтобы показать, насколько сосет прыщешелл. Аналогичная структура данных на винде, например - gsv.
                Ответить
          • Справедливости ради, «PS» и не заявлял, что из его модели удобно работать с программами, высирающими текст, а не объекты. Командлеты же в нём действительно универсальны и удобны.

            А вот текстовые Unix-сектанты наоборот заявляют, что-де текст* — самый лучший и универсальный интерфейс, а потом рагулярно обсираются на примитивных вещах вроде значений с пробелами. Грустно смотреть.

            *Стоит отметить, что если бы команды текстовых Unix-сектантов печатали своё говно в каком-нибудь универсальном формате сериализации (вроде богомерзкого «JSON» или хотя бы «CSV» со строго формализованными сепараторами), то использовать их было бы не менее удобно, чем командлеты «Powershell».
            Но увы, во времена разработки этих команд никаких «текстовых форматов сериализации» и в помине не было, так что имеем реальность, в которой каждая утилита срёт совершенно как попало, а текстовые сектанты для каждой программы изобретают свой способ парсинга вывода (кто из сектантов не пишет по десятку cut | awk | grep | awk | sed в день, тот нагло пиздит… ну или нихуя не делает) и называют это «универсальностью».
            Ответить
            • da

              > текст*

              на самом деле и вовсе не текст, а поток байт. просто замылившийся мозг awk-шника чересчур привык к устоявшейся концепции и не хочет видеть ничего кроме неё.
              Ответить
            • > Стоит отметить, что если бы команды текстовых Unix-сектантов печатали своё говно в каком-нибудь универсальном формате сериализации (вроде богомерзкого «JSON» или хотя бы «CSV» со строго формализованными сепараторами), то использовать их было бы не менее удобно, чем командлеты «Powershell».
              Нэт. В помершелле строгая статическая типизация, имена известны заранее -> идеально работает дополнение.

              У прыщефайрволла вообще нет никакого официального взаимодействия со скриптами, кроме текста. api официально нестабильное.
              Ответить
              • >У прыщефайрволла вообще нет никакого официального взаимодействия со скриптами

                есть NETLINK_NETFILTER но хз как там с api.
                но файр на прыщах и правда так себе, именно потому я за PF
                там есть апи
                Ответить
            • гост, сёма сказал "как на прыщах фильтрануть iwlist" ну и аказалось, что и на винде никак: нету кмдлета такого, только старый netsh.

              Прыщетекстовые аутпуты обычно вполне себе нормальные табличные (кроме совсем уж древности типа passwd, то и она неплохо парсится).

              жопа случается, когда у тебя не табличные данные, а например древовидные, или если ебаные хипстеры там jsonом серанули

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

              с появлением PS все стало намного лучше.
              Ответить
              • > До появления PS у винды просто не было ничего даже близко похожего
                > PowerShell — расширяемое средство автоматизации от Microsoft с открытым исходным кодом, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков в сентябре 2003 года под кодовым названием Monad.

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

                  Пользоваться PS нормально стало можно только с десятки. До этого там тупо не было нужных КМДлетов, ты мог там только хеллоу ворлды писать на хуевеньком языке

                  >питоном
                  ну удачи тебе в писании однострочников на питоне

                  > Кстати, заметили, насколько синтаксис помершелла удобнее ебанутого jq?
                  Это правда, просто json это рак, говно, и не нужен.

                  Кстати, а распарси мне json ПШом?
                  Ответить
                  • > Пользоваться PS нормально стало можно только с десятки.
                    Тоньше, блядь. По крайней мере можно было писать скрипты, не думая об экранировании.

                    > ну удачи тебе в писании однострочников на питоне
                    Кто говорил про односрочники?

                    > просто json это рак, говно, и не нужен.
                    ТЫ прыщедебил или троллишь?

                    https://www.google.com/search?q=powershell+parse+json+example
                    Ответить
                    • >Тоньше, блядь.
                      ну а что не так-то? Ты на win7/win2008r2 сильно наповершелишь?

                      > По крайней мере можно было писать скрипты, не думая об экранировании.

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

                      >Кто говорил про односрочники?
                      в командной строке ты многострочники пишшеь что ли?
                      Ответить
                      • Сам помершелл и ISE был живой еще на 7, возможно - на висте. Профессионально я на нём никогда не писал, скорее юзал на замену бату чтобы не рвать волосы на сраке если ни дай бог в параметре кавычки встретятся, например. Foreach с маской, устойчивый к незапланированным символам на бате выглядит как магия, поддержка юникода хз где и какая итд.

                        Что ты имеешь в виду под "распарси json"?
                        Ответить
              • Какую-то херню несёте. Одному сложно раскавычить, а потом обратно закавычить, у другого Мастдай появился посреди речи про 640 килобайт, а третьему netsh кажется похожим на цискошелл и старым, хотя это wlancfg это относительно новый модуль расширения netsh.
                Ответить
                • Напомни, что будет если параметр в батник передать с пробелами? А если с кавычками?
                  Ответить
                  • Как там в досе? Длинные имена сильно мешают?
                    %*
                    %~1

                    Всё, что надо запомнить для юзания аргументов с /E:ON
                    Ответить
                    • %~1 еще нагуглить надо.
                      > /E:ON
                      Шо це?

                      В помершелле хотя бы это работает без заёбов. Кавычки-хуички, пробелы, юникод. Похуй.
                      Ответить
                      • > нагуглить
                        Оно аж ДЖВА раза описано, дубина. В call /? и for /?
                        Ответить
                        • Где, петушок?
                          Ответить
                          • Как ты вообще с CLI взаимодействуешь, если лень даже узнать синтаксис? Зато неделю сидеть жаловаться не лень, да.
                            Ответить
                            • Я тебе говорю, что в строковых яп есть куча приколов, которых в помешелле нет изначально. В помершелле форыч я могу написать по образцу, почти не читая доки.
                              Ответить
                              • > не читая доки
                                Да я понял уже, сём.
                                Ответить
                                • Если у вас дебилов красноглазых ни одна хуйня без чтения доков нихуя не работает то это не значит что везде так.
                                  Ответить
                                  • Да пиздец вообще.

                                    Сначала они требуют чтения мануалов перед использованием языка, затем потребуют еще и умения читать, как блядь в 1979-м году
                                    Ответить
                            • А вы тут, пардон, чем занимаетесь? Ноете про свою хуйню. Пыхари им блядь мешают. Ну так не пиши на пхп, не читай код на пхп. Какие-то настройщики железа про свою хуйню ноют. Это сайт админов, что ли? Мало вам двача?
                              Ответить
                              • Привет

                                У меня барабан лазерника частично размагнтился, и принтер плохо печатает

                                как починить?
                                Ответить
        • Бамп свирепому нересту!
          Бамп бобрам алеутским!
          Ответить
      • Как же так вышло? Ведь Петя же ходил по собеседованиям! В одном месте ему сказали, что знание Линукса — это хорошо, если это знание заключается в умении в CI/CD, контейнеризацию и оркестрацию, а знание флагов ядра и умении настроить KDE в хуй не впёрлось бизнесу. В другом месте Петя блеснул баш-портяночкой на четыре экрана, в ответ на что интервьюер показал ему код на PowerShell, который делает то же самое, но на одном экране и для его сопровождения не требуется аутичный задрот. Петя отчаялся и пошёл к калькулейтовцам и альтовцам, но там на него посмотрели и сказали без затей: «Будешь сосать хуй во имя мозолей Штольмана за 30 000 рублей в месяц и петь с нами песнопения каждое воскресенье» и Петя съебался в ужасе.
        Ответить
        • Петя проникся, и стал опотным программистом на повершелл

          Теперь вопрос: кем Петя будет работать? Виндоадмином?
          WinOps почти никому не нужен, я не знаю крупных проектов на винде кроме SO.

          Можно пойти на галеры и крутить какой-то интранет на винде, либо стать офисной админкой
          Ответить
          • https://youtu.be/YuLXYX4lzHY?t=6
            Ответить
          • > WinOps
            Спасибо за очередной баззворд, блеять.

            > крупных проектов на винде кроме SO
            > крупных проектов
            > крупных
            Топ кек.
            Ответить
            • ну SO это все таки более-ли-менее серьезное что-то

              так а где работать виндоадмину в 2022? Вот в 2002 я бы точно знал -- где
              Ответить
              • Виндовые сети не делают, что ли?
                Ответить
                • делают сети предприятий, но от них потихоньку уходят в облака, SaaS, итд

                  никому не охото в серверной сервер держать
                  https://www.youtube.com/watch?v=YNHwgnpzY9w
                  Ответить
                  • > никому не охото в серверной сервер держать
                    Если работаешь по 275-ФЗ, то придётся.
                    Ответить
                    • а нельзя у ростелекома арендовать облако?

                      Просто если держать физический сервер, то нужно
                      * Бесперебойник
                      * Охлаждение
                      * RAID и мониторинг
                      * Бекап
                      * Стратегию на случай "В понедельник в 10 утра сгорели все винты, материнка, проц, и RAID контроллер"
                      * Такую же стратегию на случай "в воскресение в десять вечера, а в понедельник в 8 утра все должно работать"
                      * Стратегию на случай "шифроблядь зашифровала все подключенные к сети машины и просит три биткоина"
                      * Обновлять ОС
                      * Отдельный VLAN для гипервизоров (и их IMPI) и стратегию как туда ходить

                      Короче, сын маминой подруги, умеющий переустанавливать виндуос, может и не справиться
                      Ответить
                      • > а нельзя у ростелекома арендовать облако?
                        А ты список абсолютно всех людей, в теории могущих иметь доступ к этому облаку, с паспортными данными, обоснованием, зачем им нужен доступ и подписями в журнале прохождения инструктажа по обращению с документацией предоставить за несколько часов сможешь?
                        Доказать, что хранилище защищено от неправомерного доступа? Что все каналы, по которым передаются данные безопасны? Что нет мужика посередине где-то?
                        Ответить
                        • А Ростелеком не должен это всё уметь? Он же официальная контора
                          Ответить
                          • Ростелеком должен не иметь доступа ни к твоему облаку (включая возможность удалить данные или предотвратить к ним доступ), ни к железу, на котором оно хостится, либо передать тебе данные об всех работниках, имеющих такой доступ. Ну и тебе нужно иметь контроль над всеми маршрутизаторами от облака до тебя.
                            Что маловероятно.
                            Если хочешь получить кусок ГосОборонЗаказа, придётся поебаться. Вариант «у меня есть договор, там говорят, что всё ок будет, спрашивайте с них», не работает. Тут будут спрашивать с тебя.
                            Ответить
                            • Ох ну и говно. То есть мне к девопсу придется еще и стаю админов хайрить вместе включая дежурново

                              РосОборонЗаказ наверное еще и винду и vmware не даст, нужно какой-нить альтлинукс?

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

                                Самое весёлое, когда приходят одновременно ФСБшник, проверять физическую безопасность и пожарный, проверять пожарную безопасность. Каждый принесёт по стулу, и на одном из них посидеть придётся, потому что требования у них, сука, взаимоисключающие.
                                Ответить
                                • «В холле четыре окна. На двух есть решётки — это требование ФСБ, на двух решёток нет — это требование пожарных.»
                                  Ответить
                                • блядь какая хуйнч, как хорошо, что я не обязан про это думать

                                  А ты работал на госзаказ? Ты типа Дефекейта что ли?
                                  Ответить
                            • Москалепроблемы, короче.
                              Ответить
                  • Какая годнота, схоронил!
                    Ответить
    • oejebok
      Ответить
    • // fromJSON does not copy the message, so we make a deep copy
            this._outputs.fromJSON(JSON.parse(JSON.stringify(this.get('outputs'))));

      https://github.com/jupyter-widgets/ipywidgets/blob/209452610c4e5dc6ec4d52b71cb2172e4ba7e03d/packages/html-manager/src/output.ts


      даже не знаю, что хуже: если джупайтеровцы не умеют пистаь на JS, или если умеют, и ТАК И НАДО
      Ответить
      • А как надо?
        Ответить
        • В смысле тебе нормально делать дип копи чего либо посредством преобразования этого дела в строку и обратно?
          Ответить
          • editSettings(&settings);
            settings = Settings::parse(settings.toString());


            Например, чтобы быть уверенным, что при следующей загрузке настройки не изменятся.
            Скажем, я делаю settings.poo = 0.30000001; и использую это значение.
            При сохранении настроек делаю sprintf(registry, "%3.5lf", poo); // Ибо нефиг лишние цифры хранить
            А потом открываю программу снова, а у меня settings.poo == 0.3. И что-то вычисляет немного не так. Как так, вчера же работало!
            Ответить
            • > делаю sprintf(registry, "%3.5lf", poo); // Ибо нефиг лишние цифры хранить
              Не делай так.

              А у жабаскриптопетухов есть что-то вроде питухонского repr() чтобы данные без потерь в строку впихивать?
              Ответить
              • JSON.stringiy
                Ответить
                • А он всякое говно вроде плавучки нормально сохраняет? Положительный/отрицательный 0? Денормализованные числа? Бесконечности? Сорта NaN?
                  Ответить
                  • как всегда, json нет, но есть json5, но его хуй когда примут все участники сети <<интернет>>

                    https://stackoverflow.com/a/68209403
                    Ответить
                  • да нет конечно
                    > JSON.stringify({a:0.00000000000000000000000000001})
                    '{"a":1e-29}'
                    Ответить
                  • JSON.stringify(0/0)
                    Ответить
                    • Let's talk about JawasCrypt

                      JSON.stringify([]+[])
                      Ответить
                      • Я мужик
                        Ответить
                        • Мухожук
                          Ответить
                        • Пруф
                          Ответить
                        • Of jij een lid heeft?
                          Ответить
                          • По-моему, Дьявол гадит голландцами.
                            Ответить
                          • Нетунской немых?
                            Ответить
                            • Наверное, всё-таки hebt, а не heeft.
                              Ответить
                              • Думаю, что нет
                                Ответить
                              • je hebt, но u heeft

                                "u" это такое возвышенное очень Вы.

                                И кстати наверное je, а не jij, потому что логическое удаление тут на члене.

                                Про саму конструкцию ничего не скажу: мне немного странно, что она начинается с "или" (как у украинцев, лол) но я еще не проходил вопросительные предложения
                                Ответить
                                • Длинные формы местоимений употребляются, когда их нужно выделить, а когда смысловое ударение падает на другие члены предложения, употребляются краткие формы, так?

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

                                    wij / we
                                    zij / ze
                                    jij / je

                                    вот только hij всегда hij
                                    -------


                                    The word 'zij' has a bit more emphasis than the word 'ze'.

                                    Sometimes it is interchangible, and you can use it both in the same way. But if you want to emphasize on one woman, or on one group of people specificly, use 'zij'. (If I hear 'zij', I can almost see someone pointing with his or her finger and say: 'ZIJ'.)
                                    Ответить
                                • https://www.vandale.nl/u-hebt-of-u-heeft
                                  Ответить
                        • een man of een vrouw?
                          Ответить
                  • Он не может нормально сохранить даже целые числа больше 2^53, о какой там плавучке речь…
                    Ответить
                    • какой хороший удобный формат
                      всё для людей

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

                        MS исправил это недоразумение. У него были целые (с суффиксом %) и плавающие (с суффиксом !). Потом они добавили длинные целые (&) и длинные плавающие (#).

                        Вот JS так и остался на уровне древнего Бейсика, а Бейсик ушёл вперёд.
                        Ответить
                        • >Вот JS так и остался на уровне древнего Бейсика, а Бейсик ушёл вперёд.


                          Именно потому клиент-сайдные штуки я стараюсь писать на VBS.
                          Это, правда, ограничивает пользователя в выборе браузера и ОС, но браузер можно всегда бесплатно скачать
                          Ответить
                          • > Именно потому клиент-сайдные штуки я стараюсь писать на VBS.

                            Прям зеленющий коммент.
                            Конечно оценил сарказм, но в VBS уже не было такой суффиксной типизации значками, как и в VB.

                            Там, ЕМНИП всё было типом Variant.
                            Ответить
                          • > писать на VBS

                            Фу, а я с тобой общался (
                            Ответить
                        • Именно поэтому я за «BASIC».

                          > MS исправил это недоразумение.
                          Кажется подобную типизацию видел и не в MS-диалектах.
                          Ответить
                          • Так точно! Applesoft, BBC, вильнюсский, Commodore, Amiga...

                            https://govnokod.ru/26034#comment512797

                            Был ещё Powerbasic с кучей нестандартных суффиксов и UBASIC, в котором был даже рациональный тип для обыкновенных дробей, но суффиксов вроде не было (там всё было Variant).
                            Ответить
                    • Я видел API с ответами в формате JSON, где целочисленные поля дублировались: один раз числом, второй раз — строкой (на случай, если число не влезет в 2^53 и JS его округлит с потерями).

                      Короче, в JSON числа лучше сразу строкой пихать.
                      Ответить
                      • > JSON.stringify({a:42n})
                         Uncaught TypeError: BigInt value can't be serialized in JSON

                        Азаза, какой анскилл )))
                        Ответить
                        • Про BigInt я забываю...

                          Разработчики сериализатора в JSON, судя по всему, про него тоже забыли.
                          Ответить
                  • А кому это надо?
                    Ответить
            • ты реально так делаешь?

              вы там все ненормальные чтоли в своем си плюс плюс?
              Ответить
          • В пыхе - да
            Ответить
      • Там в жупайтере еще используется задняя косточка (Backbone).
        Там есть смешной бугор.

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

        Питух делает свойство массив, срет туда всяким говном, а вьюшка не видит, чтоб что-то изменилось. А разгадка такова: массив-то тот же самый объект, указатель на него не изменился
        Ответить
    • Блядь, какая охуенная фича -- приватныке поля (#) в JS, к которым блядь из дебагера не достучаться.
      Реально хуй сосешь в консоли и в дебаггере в WS.

      Пиздец, даже в C++ такой проблекмы нет, не говоря уже про джавы и сишарпы и питоны даже

      Пиздец полезная фича, сука
      Ответить
      • ты недавно с марса прилетел :)?
        Ответить
        • Почему в JS это сделано через такую жопу? Его что, проектировали дебилы?
          Как вообще блядь можно было так сделать?
          Ответить
          • простите .. что такое через жопу.. покажите пример как не через жопу... почему вы думаете что это дебилы?
            Ответить
            • Потому что дебагер не позволяет прочитать значение приватного поля.
              Так не должно быть, и так нет ни в каком языке.

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

                  Если в хроме не работает дебагер с #полями, то это пиздец

                  А тот факт, что всем похуй, говорит о состоянии сообщества к сожалению
                  Ответить
                  • В «PHP» нет никаких #полей. Именно поэтому я за «PHP».
                    Ответить
                    • в JS есть private поля, а есть #поля

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

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

                              хзы: я там исправился: private нет в JS, это чисто фишка TS
                              Ответить
                            • Нужно ещё придумать Ѣполя, к которым вообще доступа не будет, ниоткуда. Полнейшая безопасность.
                              Ответить
                              • https://youtu.be/S69eh1g6H4A
                                Ответить
                                • Безопастный СЭВ со своим безопастным конвертируемым деревом
                                  Ответить
                              • нужно просто запретить дебаггер

                                Dijkstra проклял дебагер, и дебагер засох
                                Ответить
                            • > когда безопасность сайта держится на приватных полях?

                              Так это же ещё один анальный тюбик. Который впихивают под слоганом бе-зо-па-сно-сти.

                              Сцайт у пользователя на машине без спроса запускает какие-то обфусцированные вычисления, и ещё имеет наглость прятать от него же пельменные.

                              Да так что скилльная вёб-макака не может их прочитать дебаггером.

                              В принципе скоро они могут дойти до шифрования памяти процесса браузера и запуска его в секьюрном enclave.
                              «Бе-зо-пас-но-сть сайта от пользователя».
                              Ответить
                              • Когда только появился объект localStorage, он не отображался в дебагерах браузеров. В дебагеры его добавили позже.

                                Так что история уже знает реальный пример, когда какое-то время браузер хранил секретные данные, недоступные даже продвинутому пользователю.
                                Ответить
                      • het spijt me, я напиздел

                        Конечно же никаких private в JS нет, они есть в TS.
                        JS про них ничего не знает, и потому они работают в дебагере

                        А вот # есть в JS
                        Ответить
                      • private поля в ts а не js
                        Ответить
                        • верно
                          Ответить
                          • Всм? Разве ts не конвертится в js?
                            Наверное ты про нативную поддержку дебага ts в хроме. Они вовсе не обязаны поддерживать всякое произвольное goвно: TypeScript, CoffeeScript, Cotlin и прочую поебень. Поэтому твой наброс мне не понятен. Скажи спасибо, что хоть это есть.
                            Ответить
      • хромоый console.log при этом показывает. отсюда классический вывод - понапридумывали блядь дебаггеров когда var_dump есть!
        Ответить
    • у меня от сиденя на стуле случился геморрой
      в буквальном смысле

      теперь я реально могу сказать

      какой багор))
      какой багор))
      Ответить
      • Сходи к проктологу, это не страшно. Выебет пару раз в жопу. Терпимо.
        Ответить
    • I am a terrible programmer. I understand things well, but I’m terrible at implementing them. What should I do to improve?
      Ответить
    • https://ebanoe-it.ru/2021/07/08/linux/
      Ответить
      • я тоже против тупых сектантов, но нужно всё таки учитывать, что прыщеадминка в 2022 может вырасти в девопёса, а во что вырастит виндоадмин я хз. В Ажуре актив директори крутить конечно можно, но много ли тех, кто так делает?
        Ответить
    • Веб-макака — недопрограммист
      Веб-мартышка — убогая нашлёпка в мире IT, недопрограммист, который даже недостоин называть себя программистом. Не уважаемый даже дульфистами и эникейщиками кусок говна, который клепает неоптимизированные говносайты от пизданутого заказчика. Жрущее говно, терпящее закидоны нанимателя за копейки, пилящее дерьмо, которое тормозит и лагает, мнящее себя айтишником, подзалупное дерьмо помоечной псины.

      Не смейте, суки, называть себя программистами. Вы никогда ими не были и не будете, вас никто и никогда не считал полноценными кодерами. Помните об этом.
      Ответить
      • Веб-макака — недочеловек, я видел далбоёбов, которые с гордостью говорили: «Я делаю сайты». Это просто рофл, ебать, это как сказать: «Я лакомлюсь говном». Еблан варится в этом говне, отдрачивает таким же веб-макакам, жрёт говно и свято верит, что вот оно, IT, вот такое оно — всё в дерьме и глисты в нём плещутся. Нет, лол. Вы никаким боком не относитесь к айтишникам, вы таджики мира IT.
        Ответить
        • "Веб-макака" - понятие очень растяжимое. От сайтов визиток до...
          Ответить
        • какие проблемы с front-end developer-ами? вроде все начинали с низов...
          Ответить
          • JS низкоуровневый в тех местах, где нежуно быть низкоуровневым
            К примеру, получите мне последний элемент массива JS.

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


            Пользоваться JS так же удобно, как ездить на велосипеде без седла
            Ответить
            • 1) [1, 2, 3].pop(); 2) если вы не умеете им пользоваться это не значит что он не удобен - это просто говорит что вы ничего не знаете о языке
              Ответить
              • pop удаляет последний элемент. Вы не умеете читать?
                Ответить
                • pop() не только удаляет но и возвращает елемент. в условии задачи не было указанно должен ли массив быть нетронутый.. пишите правильно условие задачи. на данном моменте я считаю что задача полностью выполнена
                  Ответить
                  • Ну так сделай push, ёпта. Взял элемент - положи его на место.

                    Вопрос насчет целых чисел на самом деле. Нужно ли это для динамического языка, там накладных расходов , небось, будет больше, чем на плавучую арифметику. Лишь бы артефактов в разумном диапазоне не возникало.
                    Ответить
                    • а что мешает юзать Int32Array() ?
                      Ответить
                      • Вообще это само по себе позорище ебаное. Посреди абсрактных чисел вдруг какие-то биты и знаки.
                        Ответить
                  • Спасибо.
                    Усложним задачу

                    К примеру, получите мне последний элемент массива JS не удаляя его.
                    Ответить
                    • const a = [1, 2, 3]; const last = [...a].pop();
                      Ответить
                      • Спасибо, это очень удобный способ, и очень производительный

                        В других языках обычно это делается так:
                        arr.last()


                        Теперь переведите пожалуйста на JS
                        https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-or-put.html
                        Ответить
                        • Array.prototype.last = function() {
                          return this[this.length - 1];
                          }

                          console.log([1, 2, 3].last());
                          Ответить
                          • советую выложить пакетом на npm, там много такого

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

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

                                    Так умеет C++
                                    https://cplusplus.com/reference/vector/vector/back/

                                    Так умеет руби
                                    https://apidock.com/ruby/Array/last

                                    Так умеет питон через негативные индексы ([-1])

                                    Так умеет котлин
                                    https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last.html

                                    Так умеет Swift
                                    https://developer.apple.com/documentation/swift/array/last


                                    В JS такой функционал завезли совсем недавно, года еще не прошло, и потому вы о нем даже и не знаете (буткемп вот знает)

                                    Я могу понять отсутствие такого фунционала в си (у низкоуровневых ЯП свои задачи) но JS/TS крайне высокоуровневый ЯП, и я жду от него множество сахар для _типивых_ задач
                                    Ответить
                                    • Почему [-1] можно и стандарт. A .at(-1) нельзя?
                                      Ответить
                                      • Потому что .at(-1) не поддерживается в браузерах, выпущенных более года назад.
                                        Ответить
                                        • А вы знаете что то что в питоне 2 не работает в 3 и наоборот? Вы думаете мне интересно знать что было в прошлом веке?
                                          Ответить
                                          • >в прошлом веке

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


                                            Метод at() у Array появился в Chrome 92

                                            https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at

                                            Chrome 92 вышел в

                                            2021-07-20 (iOS)
                                            2021-07-20
                                            (Linux, macOS, and Windows)
                                            2021-07-20 (Android)

                                            https://en.wikipedia.org/wiki/Google_Chrome_version_history

                                            понимаете? Года еще не прошло.

                                            Я не уверен, что без babel могу использовать этот метод
                                            Ответить
                                            • наш спор не имеет смысла. "js" can do everything in any style.
                                              Ответить
                                              • А ну ка, покажи пример Logic- или Constraint-программирования на js.
                                                Ответить
                                              • ..и каждый их стилей омерзителен по своему.


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

                                                    Хотя в MRI уже есть JIT (а в питухоне ?)
                                                    https://k0kubun.medium.com/ruby-3-0-jit-and-beyond-4d9404ce33c
                                                    Ответить
                                                    • скриптогавно быстрее работает чем "new" в С++
                                                      Ответить
                                                      • Разумеется, нет.
                                                        Откуда вообще ты это взял? И зачем тебе "new"?
                                                        Ты это просто так написал, для хохмы?
                                                        Ответить
                                                        • что нить больше чем hello world на с++ писал?
                                                          Ответить
                                                          • Да. А ты, видимо, нет, иначе не упоминал бы тут new
                                                            Ответить
                                                            • пиши код ... я его переведу на JS запущу на тест и посмотрим .. сравним
                                                              Ответить
                                                              • лаба первокурсника
                                                                #include <iostream>
                                                                #include <vector>
                                                                #include <sstream>
                                                                
                                                                class User
                                                                {
                                                                public:
                                                                	const uint8_t id;
                                                                	const std::string name;
                                                                };
                                                                
                                                                int main()
                                                                {
                                                                	std::vector<User> users;
                                                                	for (uint8_t i = 0; i < 100; i++)
                                                                	{
                                                                		std::ostringstream name{};
                                                                		name << "User " << static_cast<int>(i);
                                                                		users.push_back(User{i, name.str()});
                                                                	}
                                                                	for (const auto& user : users)
                                                                	{
                                                                		std::cout << user.name << std::endl;
                                                                	}
                                                                }


                                                                5ms. Удачи!
                                                                Ответить
                                                            • а давайте сравним


                                                              #include <iostream>
                                                              #include <vector>
                                                              class Fake {
                                                              public:
                                                              	int id;
                                                              };
                                                              
                                                              int main() {
                                                              	std::vector<Fake*> fakes;
                                                              	for (auto i = 0; i < 100; i++) {
                                                              		fakes.push_back(new Fake{i}); //течка ну и похуй
                                                              	}
                                                              	for (auto v : fakes) {
                                                              		std::cout << v->id << std::endl;
                                                              	}
                                                              }


                                                              vs
                                                              'use strict';
                                                              
                                                              const fakes = [];
                                                              for (let i = 0; i < 100; i++) {
                                                                  fakes.push({id: i});
                                                              }
                                                              for (let fake of fakes) {
                                                                  console.log(fake.id);
                                                              }


                                                              Неоптимизированный C++
                                                              Milliseconds      : 7
                                                              Ticks             : 78024
                                                              TotalDays         : 9,03055555555556E-08
                                                              TotalHours        : 2,16733333333333E-06
                                                              TotalMinutes      : 0,00013004
                                                              TotalSeconds      : 0,0078024
                                                              TotalMilliseconds : 7,8024


                                                              Релизный C++
                                                              Milliseconds      : 4
                                                              Ticks             : 48142
                                                              TotalDays         : 5,57199074074074E-08
                                                              TotalHours        : 1,33727777777778E-06
                                                              TotalMinutes      : 8,02366666666667E-05
                                                              TotalSeconds      : 0,0048142
                                                              TotalMilliseconds : 4,8142


                                                              16-я нода (джит-хуит, последняя стабильная хорошая версия)
                                                              Milliseconds      : 35
                                                              Ticks             : 351439
                                                              TotalDays         : 4,06758101851852E-07
                                                              TotalHours        : 9,76219444444444E-06
                                                              TotalMinutes      : 0,000585731666666667
                                                              TotalSeconds      : 0,0351439
                                                              TotalMilliseconds : 35,1439


                                                              Таким образом, наша программа на С++ быстрее в восемь раз.
                                                              Ответить
                                                              • завтра сделаю .. сегодня уже спать хочу
                                                                Ответить
                                                              • Неоптимизированный C++
                                                                TotalMilliseconds : 7,8024
                                                                
                                                                16-я нода (джит-хуит, последняя стабильная хорошая версия)
                                                                TotalMilliseconds : 35,1439


                                                                На самом деле очень достойно, как для скриптухи.
                                                                Ответить
                                                    • > скорость

                                                      Ахаха. АХАХАХАХ. Не ты ли лулзовал с вопроса «Что быстрее Python или C++»?
                                                      Ответить
                                                      • Верно: язык не может быть быстрым или медленным.
                                                        Медленной может быть лишь конкретная программа.

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


                                                        ASD видимо пытался сказать, что выделение динамической памяти в С++ может работать медленее, чем выделение ее в управляемой куче (потому что в языках с GC можно не думать о фрагментации, а просто брать кусочек памяти) но это лукавство: рано или поздно память кончится, и придется делать GC, и тут настанет расплата.

                                                        Конечно, память может не кончиться никогда, но тогда что мешает и в C++ один раз при старте выделить арену, и срать туда?

                                                        Кроме того, современныве С++ компиляторы скорее всего попросят сразу много памяти у ОС (``VirtualAlloc``(aka ``NtAllocateVirtualMemory ``), ``mmap`` итд), и будут нарезать ее по кусочкам для "new", не делая по системному вызову на каждый new.
                                                        Ответить
                                                        • > Кроме того, современныве С++ компиляторы скорее всего попросят сразу много памяти у ОС (``VirtualAlloc``(aka ``NtAllocateVirtualMemory ``), ``mmap`` итд), и будут нарезать ее по кусочкам для "new", не делая по системному вызову на каждый new.
                                                          Конечно не будут. «VirtualAlloc» умеет выделять память только страницами (обычно — 64 килобата).
                                                          Ответить
                                    • > Так умеет C++
                                      > Так умеет руби
                                      > Так умеет питон через негативные индексы ([-1])
                                      > Так умеет котлин

                                      А как с этим в Йажа, РНР и C#?
                                      Ответить
                                      • > А как с этим в Йажа

                                        Есть ли смысл задавать этот вопрос?

                                        > РНР и C#?

                                        Какой-нибудь array_last, а в C# через LINQ/Enumerable
                                        Ответить
                                        • > Есть ли смысл задавать этот вопрос?
                                          Ну кокотлин же вплели. Йажа жопулярнее.

                                          Думал за 10 лет что-то изменилось. Ан, нет!
                                          https://stackoverflow.com/questions/27547519/most-efficient-way-to-get-the-last-element-of-a-stream
                                          Stream<T> stream;
                                          T last = stream.reduce((a, b) -> b).orElse(null);

                                          Второй пример кода ещё эпичнее:
                                          static <T> T getLast(Stream<T> stream) {
                                              Spliterator<T> sp=stream.spliterator();
                                              if(sp.hasCharacteristics(Spliterator.SIZED|Spliterator.SUBSIZED)) {
                                                  for(;;) {
                                                      Spliterator<T> part=sp.trySplit();
                                                      if(part==null) break;
                                                      if(sp.getExactSizeIfKnown()==0) {
                                                          sp=part;
                                                          break;
                                                      }
                                                  }
                                              }
                                              T value=null;
                                              for(Iterator<T> it=recursive(sp); it.hasNext(); )
                                                  value=it.next();
                                              return value;
                                          }
                                          
                                          private static <T> Iterator<T> recursive(Spliterator<T> sp) {
                                              Spliterator<T> prev=sp.trySplit();
                                              if(prev==null) return Spliterators.iterator(sp);
                                              Iterator<T> it=recursive(sp);
                                              if(it!=null && it.hasNext()) return it;
                                              return recursive(prev);
                                          }


                                          Третий комменатор советует использовать для получения последнего элемента сторонюю библиотеку.
                                          Охуенный язык.
                                          Ответить
                                          • В коко вообще много сахар, а йажайоб трудалибивый питух, ему не впадлу и лишних семь строчек написать
                                            Ответить
                                            • > stream.reduce((a, b) -> b).orElse(null)
                                              Вчитайся в этот ад. Анскильный выблядок городит лямбду и получает last за O(N). Это топовый ответ на SO!

                                              Именно поэтому я всегда говорил что функци-анальные примочки Йаже только вредят.

                                              Если бы у них были только громоздкие анонимные классы они бы такую лютую хуйню не стали писать.
                                              Ответить
                                              • там там влопрос про стрим же
                                                не про моссив
                                                Ответить
                                                • А массивэто вонючее легаси, там скорее всего по-прежнему arr[arr.length-1] (хотя может я чего-то не знаю).
                                                  Да и List наверное тоже.

                                                  А Stream более новое api, а-ля LINQ. Логично что оно должно быть по уму.
                                                  Но нет, оказалось что в Stream api сделали ещё хуёвее чем оно было в легаси.

                                                  В Йаже есть только одна структура где удобно брать последний элемент — Queue/Deque.
                                                  Ответить
                                                  • List и array имеют length, а stream может его и неиметь же

                                                    не?
                                                    Ответить
                                                    • И что с того?
                                                      Вон сёма ниже пишет что в C# нормально из коробки сделали.

                                                      В шарповском IEnumerable тоже размера нет (это аналог java.lang.Iterable). Там только итератор развращается.
                                                      Methods GetEnumerator() 	
                                                      Returns an enumerator that iterates through a collection.

                                                      Но они всё удобно сделали.
                                                      Если возможно — будет реализация IQueryable с O(1).
                                                      В противном случае O(N).

                                                      EDIT: Кстати и размер тут не нужен. Например какой-нибудь double linked list с размер вычисляется за O(N), а хвост списка берётся O(1) .
                                                      Ответить
                                                      • а как так сделали? у IEnumerable<хуня-с-размером> другой метод?

                                                        Это потому, что у шарпеев генерики более цисгендерные, чем у жабоебев?
                                                        Ответить
                                                        • Нет. Потому что Йажа — ёбанное, душное говно, сделанное анскильными вороватыми выблядками.
                                                          А генерики тут ни при чём.

                                                          Всегда можно в конкретной реализации IEnumerable развращать оптимизированный IQueryable.
                                                          Где метод last не будет итерировать через всю коллекцию до конца, а получит O(1) реализацию.

                                                          В Йажа даже не смогли list reverse view завезти*. Только мутирующий void Collections.reverse(Collection<T>).
                                                          Иначе можно было бы написать Arrays.asList(1,2,3).reverse().iterator( ).next()

                                                          Да, тут много временных объектов. Но нет даже такого элементарного говна.

                                                          * есть в сторонних библиотеках
                                                          https://guava.dev/releases/21.0/api/docs/com/google/common/collect/Lists.html#reverse-java.util.List-
                                                          Ответить
                                                          • И эта бестолковая мразь, которая к 2к22 не смогла завезти в язык last()/reverse().
                                                            Продолжает городить какие-то новые, бесполезные говноапи:

                                                            https://govnokod.ru/28232#comment777997
                                                            Ответить
                                                            • >говноапи

                                                              структурная конкурентность, почьти как кококококококорутины в кокококок

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

                                                              Кстати, в коплику GC хейтера: в .NET есть IDisposable

                                                              public void Dispose()
                                                                      {
                                                                          Dispose(disposing: true);
                                                                          // This object will be cleaned up by the Dispose method.
                                                                          // Therefore, you should call GC.SuppressFinalize to
                                                                          // take this object off the finalization queue
                                                                          // and prevent finalization code for this object
                                                                          // from executing a second time.
                                                                          GC.SuppressFinalize(this);
                                                                      }

                                                              https://docs.microsoft.com/en-us/dotnet/api/system.idisposable?view=net-6.0

                                                              незабудль вручную дернуть GC, а то бабайка заберет
                                                              Ответить
                                                              • > вручную дернуть GC
                                                                bad practice
                                                                Вручную VACUUM на таблице. Вручную yield() на потоке.

                                                                > take this object off the finalization queue
                                                                Dispose — аналог finalize() в Microsoft Java. Полностью безполезен. Скорее даже вреден.

                                                                В свежей йаже finalize наконец-то задепрекейтили дропнули и напитон.
                                                                Ибо говнище страшное.
                                                                Ответить
                                                                • >vacuum
                                                                  autovacuum давоно уже

                                                                  >вручную yeild
                                                                  это нужно чуть реже, чем никогда.

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

                                                                  исключение разве что не потоки, а корутины

                                                                  >Dispose — аналог finalize() в Microsoft Java.

                                                                  нетненет, аналог finalize это finalize и деструктор ~ (это синонимы)

                                                                  IDisposable это для вручного управления, как Closable или как питухоновые __exit__
                                                                  Ответить
                                                                  • > Disposable это для вручного управления

                                                                    А, понял. Это аналог AutoClosable.
                                                                    Меня просто смутило GC.SuppressFinalize(this);
                                                                    Ответить
                                                          • Я имел ввиду, что в C# можно наверное сделать так *пишу из головы, лучше проверь*
                                                            interface IPetuhs<T>
                                                            {
                                                                T Current { get; }
                                                                bool MoveNext();
                                                            }
                                                            
                                                            interface ICountablePetuhs<T> : IPetuhs<T>
                                                            {
                                                                int Size { get; }
                                                                T Get(int i);
                                                            }
                                                            
                                                            static class Ext
                                                            {
                                                                static T GetLast<T>(this IPetuhs<T> me)
                                                                {
                                                                    while (me.MoveNext())
                                                                    {
                                                                    }
                                                            
                                                                    return me.Current;
                                                                }
                                                            
                                                                static T GetLast<T>(this ICountablePetuhs<T> me)
                                                                {
                                                                    return me.Get(me.Size - 1);
                                                                }
                                                            }


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

                                                            Придеца или срать в каждый список питухов методов или писать цепочаку Instanceof, или вместо интерфейсва делать класс и наследить реализщацию
                                                            Ответить
                                                            • > экстеншен методов тоже нет

                                                              Можно насрать default методом в интерфейс.
                                                              И имплементить его. Не пойму причём тут женерики.
                                                              Всё там можно, просто жоварукость уже 20 лет не позволяет сделать нормальную библиотеку.

                                                              Внутри либы оно могло быть и уродливо (будто в кишках С# не говно?), но чтобы пользоваться либой было удобно.
                                                              Ответить
                                                            • Зачем кишки во вне выносить. Примерно так:
                                                              interface ICountablePetuhs<T> : IPetuhs<T>
                                                              {
                                                                  int size();
                                                                  T get(int i);
                                                              
                                                                  @Override
                                                                  default T last()
                                                                  {
                                                                      return this.get(this.size() - 1);
                                                                  }
                                                              }
                                                              
                                                              interface IPetuhs<T>
                                                              {
                                                                  boolean hasNext();
                                                                  T next();
                                                              
                                                                  default T last()
                                                                  {
                                                                      if (!this.hasNext()) throw new Exception("out of bounds!");
                                                              
                                                                      T item=null;
                                                                      while (this.hasNext())
                                                                      { 
                                                                           item = this.next();
                                                                      }
                                                                      return item;
                                                                  }
                                                              }

                                                              Вполне красиво получается.
                                                              Ответить
                                                        • > у IEnumerable<хуня-с-размером> другой метод?

                                                          Особо не копал, но насколько понимаю

                                                          а) LINQ это extension methods, и методы конкретного типа, если он указан, будут иметь приоритет
                                                          б) внутри LINQ действительно идет проверка на то, не является ли this типом, позволяющим это сделать интереснее чем проходом по всей коллекции
                                                          Ответить
                                                    • У крестухов всё по полочкам. Массив, список, всё однотипно.

                                                      На каждый случай итератор, всё просто и понятно. Где и какая перегрузка допустима. Запись, чтение, итерация, случайный доступ.

                                                      Это всё привязано к типам указателей и ещё сишному синтаксису.
                                                      input_iterator
                                                       output_iterator
                                                       forward_iterator
                                                       backward_iterator
                                                       bidirectional_iterator
                                                       random_access_iterator
                                                       contiguous_iterator

                                                      Но С++ это же сложно. Лучше слепим кривое говно, и будем уповать на O(N).
                                                      Ответить
                                                      • Потом правда я случайно сунул list туда, где ждали random_access_iterator и получил смешную ошибку

                                                        С другой стороны, я не смогу случайно написать O(N) вместо O(1) и незаметить.

                                                        Потому что С++ расчитано на программистов, а не на быстро войтивойти, увы
                                                        Ответить
                                      • >йажа
                                        не нужен
                                        > PHP
                                        не нужен
                                        >C#
                                        val.AsQueryable().Last();
                                        Ответить
                                        • >>C#
                                          >>val.AsQueryable().Last();

                                          Перепитушня. Создаёт лишний объект IQueryable.

                                          То ли дело «PHP»:
                                          end($array)
                                          В «PHP» всё просто и понятно. «PHP» — это выбор профессионалов.
                                          Ответить
                                          • я люблю перл
                                            $arr[$#arr]
                                            я люблю lua
                                            table[#table]
                                            Ответить
                                          • end — лучший способ в «PHP», но далеко не единственный.

                                            Новички пытаются городить что-то типа $array[count($array) - 1] и обламываются, потому что в «PHP» нету чистых массивов, в нём только хэшмапы. В нумерации могут быть дырки, да и индексы могут быть нечисловыми.

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

                                              Если нужно брать элементы с конца, то после end мы просто cделаем prev.
                                              А array_key_last не меняет внутренний итератор.

                                              > В нумерации могут быть дырки, да и индексы могут быть нечисловыми.
                                              Какой EcmaScript )))
                                              И к слову в JS до сих пор крайне неудобно. Всякая пирдоль через Object.keys и багры с for~in.
                                              Ответить
                                              • у нас в луа тоже могут быть дырки, но в свое оправдаие могу сказать, что у нас зато синтаксис одинакоый у любого нескалярного питуха

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

                                                >И к слову в JS до сих пор крайне неудобно.
                                                Use Map, Luke.

                                                >for~~in
                                                кто ниразу не путал in и of в массиве в js?

                                                Впрочем, наебаца с map тоже легко.


                                                Угадай, что делает этот код

                                                if ('foo' in map) {
                                                console.log(map['foo']);
                                                }
                                                Ответить
                                              • PHP различает class и array, но путает массивы и ассоциативные массивы. Эти два контейнера смешаны в array.

                                                ECMAScript различает массивы и ассоциативные массивы, но путает ассоциативные массивы с объектами. Даже функции ECMAScript путает с объектом (в старом прототипном ООП).
                                                Ответить
                                                • >но путает ассоциативные массивы с объектами
                                                  потому я и хрюкнул про Map
                                                  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
                                                  Ответить
                                                  • А помнишь циклы с проверкой hasOwnProperty, чтобы случайно по лишнему говну не проитерироваться?
                                                    Ответить
                                                    • да, потому что идея слить воедино ассоциативный массив и абъект оказалась не очень.

                                                      В те времена в JS все было через жопу, но многие ебаные сектанты его защищали

                                                      Сейчас тоже многое через жопу, но всем похуй
                                                      Ответить
                                                    • >помнишь циклы с проверкой hasOwnProperty

                                                      Этот багор невозможно забыть.
                                                      До ньюскульных мап был старый-добрый Object.create(null), чтобы не срать в прототип.
                                                      Ответить
                                                    • До сих пор так пишу. А что, уже пофиксили?
                                                      Ответить
                                                • Сорри. На чем писан PHP и доступны ли сорцы? не на сях случайно?
                                                  Ответить
                                                  • Да, доступны, да, на сях.

                                                    Я копался в исходниках PHP, чтобы понять, как работает оператор ==, когда аргументы разных типов.
                                                    Ответить
                                                    • Икануc, если ты будешь разговаривать с уёбком, то на руках волосы вырастут


                                                      [quote]
                                                      Я копался в исходниках PHP, чтобы понять, как работает оператор ==, когда аргументы разных типов.
                                                      [/quote]
                                                      что говорит нам о высоком качестве документации к языку
                                                      Ответить
                                                      • У кого вырастут?

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

                                                        Именно поэтому я плюнул на == и стал использовать ===. А если типы не совпадают, их всегда можно самому привести к строке или к числу, чтобы было понятно, как сравниваются значения.
                                                        Ответить
                        • я не знаю котлин и знать не хочу
                          Ответить
                          • Да это не только в котлине, это в любом языке практически
                            Ответить
                            • вы получили свой ответ?
                              Ответить
                              • Получил, и еще раз убедился, что простые вещи делаются на этом языке сложно и многобуквенно
                                Ответить
                                • продолжайте жить в собственных заблуждениях ... это лично ваш выбор
                                  Ответить
                                • .at(-1) имеет столько же буковок сколько и в .last() ... думаю вам надо подучить математику
                                  Ответить
                                  • Но их всё же больше, чем в [-1]
                                    Ответить
                                    • в слове питон больше букв чем в слове жс
                                      Ответить
                                    • В питоне отрицательные индексы появились довольно давно, а at появился совсем недавно
                                      Ответить
                                  • .at(-1) не поддерживается в хромах младше 92-го
                                    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at
                                    Ответить
                                • >простые вещи

                                  простая вещь - это сделать кроссплатформенный ui и вся ваша жабосисярпная параша обосралась

                                  теперь живите с жс
                                  Ответить
                                  • qt отличный кроссплатформенный UI, и в C++ есть back
                                    Ответить
                                    • я надеюсь что ты шутишь
                                      Ответить
                                      • Вовсе нет.

                                        Вообще, язык JS не связан обязательно с веб интерфейcом, как и интерфейс с ним

                                        ничто не мешает мне ебануться, и писать на KotlinJS, и иметь кросс-плтаформенную веб морду со всеми last() и .putOrGet() ценою трехмегабайтного рантайма
                                        Ответить
                                        • вообще-то связан, DOM доступен только из js
                                          Ответить
                                          • причем тут дом?
                                            Ответить
                                            • О мой дом
                                              Свитый из песен и слов
                                              Всем моим бедам назло
                                              Вовсе не так уж плох
                                              Ответить
                                            • При том что веб интерфейс обязательно связан с жс. Без жс ты не сможешь динамически сгенерировать и отрендерить html в браузере
                                              Ответить
                                              • Это правда

                                                К счастью, миллионы приложений в мире имеют интерфейсы, не связанные ни с вебом, ни с JS
                                                Ответить
                                                • > миллионы
                                                  – надеюсь, они написаны на жабе
                                                  Ответить
                                          • > доступен только из js
                                            Чойта? Еще доступен из vbs и немного из с++ на котором сляпан плагин.
                                            Ответить
                                            • Да ты поехавший
                                              Ответить
                                            • Зависит от реализации браузера. На данный момент язык vbs поддерживают только IEexplore и его потомки. И то, он уже сильно кастрирован и многие методы тупо не работают, причем без какой либо ошибки.
                                              Ответить
                                  • Sdl2 + imgui
                                    Ответить
                    • Передаю привет из 21 века

                      [1,2,3].at(-1)
                      Ответить
                      • такую интересную беседу заспойлирило
                        Ответить
                        • Там даже at не нужен. Всю жизнь был божественный slice, который даже в IE работал.

                          [1,2,3].slice(-1)[0]

                          start Optional
                          
                              Zero-based index at which to start extraction.
                          
                              A negative index can be used, indicating an offset from the end of the sequence. slice(-2) extracts the last two elements in the sequence.
                          Ответить
                          • так-то слайс копирует массив, но тоже ничево
                            Ответить
                            • > слайс копирует массив, но тоже ничево

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

                              Вроде классического
                              str.split('').reverse().join('')
                              Ответить
                    • Это как если бы в гольф играли не врачи, а золотари. length нельзя использовать, а юзерская память дешевая.
                      Ответить
                      • Да, еще и от постановки задачи воняет ЯВУ, где аггау обязан содержать хотябы 1 элемент, а для скриптухи это в корне неверно.
                        new Array()

                        Где тут последний элемент, guest6?!
                        Ответить
                        • > где аггау обязан содержать хотябы 1 элемент
                          это в каком таком языке?
                          Ответить
                          • Приведи реальный пример пустого массива в няшной.
                            Ответить
                            • char foo[0]
                              Ответить
                              • А теперь реальный пример программы, чтобы компилировалась и запускалась в Ideone.
                                Ответить
                                • да что не так-то??
                                  https://ideone.com/dgIbDt

                                  #include <stdio.h>
                                   
                                  int main(void) {
                                  	// your code goes here
                                  	char i[0];
                                  	return 0;
                                  }


                                  Почему это должно не компилироваться?


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

                                  вот и массив есть, но писать в него нельзщя
                                  ну и сравнивать (как указатели) массивы тоже незя
                                  Ответить
                                  • Интересно. Почему-то я упустил такую возможность...
                                    Ответить
                                    • а вот тебе смешноре
                                      int main(void) {
                                      	// your code goes here
                                      	char a[0], b[0];
                                      	printf("A: %p , B: %p", a, b);
                                      	return 0;
                                      }


                                      угадай, будет один адрес или разные?
                                      Ответить
                                      • WTF, почему с ideone нельзя скопировать код?
                                        Ответить
                                        • Потому что этот код написал я, а стало быть и права на него принадлежат мне.

                                          Разве я давал тебе разрешение копировать мой код?
                                          Ответить
                                          • Я пират, мне можно ☠️

                                            А если отключить ебаный codemirror, то копируется с тарасоформатированием
                                            Ответить
                                      • > будет один адрес или разные
                                        Зависит от сайта, на котором компилируешь. На годболте - один, а на идеоте зачем-то 4 байта пуддинга или еще какой хуйни.
                                        Ответить
                                        • > 4 байта
                                          Нет, 1 байт в случае чара, то есть это говно мамонта таки делает char x[1] из char x[0]
                                          Ответить
                                          • прававильно

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

                                            причем пустые родлители схлопываюится, потому что достаточно отличаца на один байт, это и есть то самое Empty base optimization окотором сказал дядяпи

                                            другой вопрос, что родители без полей чисто ради методов это плохой, гнилой код, не надо так
                                            Ответить
                                            • СИшка 0
                                              https://ideone.com/gwE0B9

                                              Кресты без EBO = 1
                                              https://ideone.com/WaJynX

                                              #include <stdio.h>
                                              
                                              struct Empty {};
                                              
                                              int main(void) 
                                              {
                                              	printf("%lu\n%lu", sizeof(struct Empty), sizeof(void));	
                                              	return 0;
                                              }
                                              Ответить
                                            • > на байт
                                              Попробуй заменить char на int и станет на 4 байта и т.д.

                                              Как там вывести мапу?
                                              Ответить
                                          • > 1 байт
                                            По-моему, это одна из особенностей, которая позволяет отличить Си от Крестов.
                                            * речь о размере struct
                                            Ответить
                                            • и наверняка есть код, который это проверяет, и ведет себя по разному, да?

                                              но вообще на O3 адреса разные и в сишке
                                              $ cat 2.c
                                              #include <stdio.h>
                                              
                                              int main(void) {
                                                      // your code goes here
                                                      long a[0], b[0];
                                                      printf("A: %p , B: %p\n", a, b);
                                                      return 0;
                                              }
                                              $ cc 2.c -O0 && ./a.out
                                              A: 0x7ffdd672f8e0 , B: 0x7ffdd672f8e0
                                              $ cc 2.c -O3 && ./a.out
                                              A: 0x7ffebd4fe630 , B: 0x7ffebd4fe638


                                              Судя по асмовыхлопу он в O3 просто сразу вычитает из RSP нужное место под локальные переменные, и течет
                                              Ответить
                                              • > RSP
                                                А если сделать пельменные глобальными, то дичь с адресами будет наоборот, идеоте - такой же адрес, годболт - смищение, но теперь 2 байта на unsigned long
                                                Ответить
                                                • глобальные это статическая паметь вернее статический сторедж дюрешен же?
                                                  Там иначе совсем выделябля происходит, в момен загрузки
                                                  Ответить
                                                  • Глобальные переменные и static, если они инициализированные, присутствуют прямо в экзешнике. Если они неинициализированные, то в экзешнике их нет, но при загрузке под них создаётся секция, либо расширяется секция, упомянутая в предыдущем предложении.

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

                                                    И тут возникает багор: одни компиляторы каждую последующую локалку размещают ниже предыдущей (как будто каждую отдельно пушат), другие — выше (как будто оптом выделяют память и начинают размещать снизу). Т. е. на порядок размещения локалок в стеке полагаться нельзя.
                                                    Ответить
                                                    • Блядь, как всё сложно
                                                      Ответить
                                                      • всм сложно? это детский сад
                                                        Ответить
                                                      • К слову, в «стандарте» нет никакого «стека». Именно поэтому я за «стандарт».

                                                        Представь, как это выглядит на других архитектурах.
                                                        Ответить
                                                        • Верно. Стандарт интересуют только

                                                          * storage duration: когда появилась переменная? Как долго она может быть доступна?
                                                          * видимость: из каких скопов можно иметь доступ к переменной?
                                                          (наверное еще linkage, но это скорее к линкеру,
                                                          а не компилятору)

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

                                                          Как называется duration у говна в динамическеой памяти я не помню, наверное "allocated".

                                                          Дуюмаю, в свежих стандартах есть еще что-то про thread duration, но это не точно.

                                                          Стек это просто деталь реализации, с помощью которой легко реализовывать автоматические переменные
                                                          Ответить
                                                        • Стеком можно гонять лошадей, а коров и свиней - нельзя. Неуниверсальный подход.
                                                          Ответить
                                                      • Сложно -- это настроить tsc/webpack/mocha/angular2/eslint/babel чтобы они делали, что тебе нужно, и не обсирались.

                                                        А сишка это просто, потому что есть отлитый в граните стандард, некоторые части которого не менялись тридцать лет.
                                                        Ответить
                                                        • У экмаскрипта тоже есть стандарт, и что? Я на сишке напишу babel, как тебе стандарт поможет?
                                                          Ответить
                                                          • У экмаскрипта он меняется примерно каждый год, и нужно понимать, под что ты комплириуешь, а уж как меняются остальные описанные мною тут баззворды ты и сам понимаешь

                                                            Кроме шуток: angular2 взял, да и перешел на Es6 modules, и у меня отсосал код, который пытался делать ему require, например.

                                                            Babel сишке не нужен, потому что язык должен знать компилятор, а не процессор
                                                            Ответить
                                                    • > присутствуют прямо в экзешнике.
                                                      Верно, это секция .data у большинства бинарей.
                                                      Либо rodata (ELF), rdata(PE) если они const/строки.

                                                      >Если они неинициализированные, то в экзешнике их нет,
                                                      ..то секция называется .bss (кстати, ты знаешь почему она так называется?)

                                                      >Локальные переменные и параметры функций создаются в стеке либо хранятся в регистрах

                                                      Помоему передача параметров зависит от call convention: в 32 они часть пхались на стек (кроме некоторых быстрых способов), в 64 регистров так много, что часть параметров перещдают через них.

                                                      Локальные переменные на усмотрение компмлят ора.
                                                      Ты помнишь кстати ключ слово "register"?

                                                      > Причём под локалки память может выделяться пушами, а может одним махом вычитанием из rsp константы.

                                                      Помоему больщинство компиляторов не парится с пушами, а сразу вчитает из *SP нужное количесто байт.

                                                      >Т. е. на порядок размещения локалок в стеке полагаться нельзя.

                                                      лол, то есть адреса двух соседних локалок могут отличаться как в одну, так и в другую сторону?
                                                      Ответить
                                                      • > лол, то есть адреса двух соседних локалок могут отличаться как в одну, так и в другую сторону?

                                                        Я приводил реальные примеры конпеляторов, размещающих локалки сверху вниз и размещающих локалки снизу вверх. Давно было, уже результатов не помню.
                                                        Ответить
                                                        • P.S.

                                                          https://govnokod.xyz/_24539/#comment-380662

                                                          (на РУ потёр Питер Паркер).

                                                          Watcom, Digital Mars, LCC кладут локалки по возрастанию, как и глобалки.

                                                          gcc, шланг, MSVC, Борланд кладут локалки по убыванию адресов.

                                                          Ещё выравнивания локалок у разных компиляторов разные. MSVC и LCC любят выравнивать на 8 байт.
                                                          Ответить
                                                        • Забавно

                                                          Правда, сравнение указателей двух объектов не из одного куска памяти вроде все равно UB

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


                                                          Можно ли было сравнивать ближние указатели на питухов из разных сегментов?
                                                          Ответить
                                                          • Не работал с ближними указателями в сегментированной модели. Но, кажется, их можно было брать только на один сегмент. Т. е. можно было брать near-указатель на данные, если данные влезают в один сегмент (модели tiny, small, medium), или near-указатель на функции, если код влезает в один сегмент (модели tiny, small, compact).

                                                            Если ты передаёшь near-указатель в другой модуль, то ты ССЗБ.

                                                            Ещё получается, что в моделях, кроме tiny, нельзя сравнивать near-указатель на данные с near-указателем на функцию. Как будто Гарвардская модель.
                                                            Ответить
                                                            • > Но, кажется, их можно было брать только на один сегмент.

                                                              Разумеется. Они содержали адрес только внутри сегмента.

                                                              >если данные влезают в один сегмент
                                                              Кажется, только так данные и могли делать.

                                                              Массив тоже не мог кажется быть больше сегмента, и создать массив размером со всю адресуемую память было нельзя.

                                                              Немного напоминает ЙАЖА, где не смотря на 64 бита, массив все равно индексируется 32 битами.

                                                              Внезапно и в сишке не гарантируетс, что ptrdiff_t равен size_t


                                                              >Ещё получается, что в моделях, кроме tiny, нельзя сравнивать near-указатель на данные с near-указателем на функцию

                                                              А в си вообще можно так сравнивать?
                                                              нельзя сравнивать указатели на разные куски памяти же: UB, но физически конечно ничего не упадет от сравнения


                                                              Однако в реальном рижиме ты мог положить код и данные рядышком: никто же не защищал сегменты от записи, чтения, исполнения, итд.
                                                              Ответить
                                                              • Некоторые конпеляторы поддерживали модель памяти huge: там массив мог быть больше сегмента.

                                                                В реальном режиме это реализовывалось просто: итератор при переполнении смещения переносил «лишние» биты в сегмент.

                                                                В защищённом (в 16-битных программах Win 3.x и OS/2, например) надо было крутить LDT, поэтому возникали дикие тормоза.
                                                                Ответить
                                                                • P.S. В «длинном» режиме amd64/x86_64 LDT залочена, поэтому в 64-битной Винде не стали реализовывать подсистему Win16.
                                                                  Ответить
                                                                • у Ьорманд си были три сорта указателей

                                                                  near: только адрес внутри сегмента
                                                                  far: адрес сегмента и адрес внутри сегмента, но адрес сегмента не менялся, так что если такой поинтер крутить, то он перехлестнется, как уроборос

                                                                  huge: как far, но вместо оверлапа у них увеличивался и сегмент

                                                                  То есть huge поинтеры тормозили, но адресовали всю доступную память.

                                                                  Надо прочитать первые двадцать страниц, и вспомнить
                                                                  http://www.bitsavers.org/pdf/borland/borland_C++/Borland_C++_Version_4.0_DOS_Reference_Oct93.pdf

                                                                  (кстати, оцени качество документации: теперь таких не делают)
                                                                  Ответить
                                                                  • > у Ьорманд си
                                                                    Не у си, конечно же, а у моделей памяти small, medium, large и huge. Там наверняка лежат сканы тасма, а лучше масма, туда загляни.
                                                                    Ответить
                                                                • Тормозило оно и в реальном режиме.

                                                                  чтобы сделать p+1 у обычного 16-ти битного указателя тебе достаточно inc-кнуть его

                                                                  Чтобы сделать это для SEGMENT:OFFSET указателя, тебе еще нужно понять -- а не нужно ли подкрутить регистр сегмена, и крутануть его, если нужно.

                                                                  Это конечно не так гиморно, как менять сегменты в защищенном режиме (там процессору приходилосьсчитывать запись из LDT или GDT) но в те времена любая запись в регистр была небесплатна (вспоминаем историю с завязкой на перехлест и gate A20)
                                                                  Ответить
                                    • икарус, а ты так-то прав: MSVC меня нахуй послал

                                      может, это тока GCC и clang могут?


                                      либо это завезли в СИ99 (вместе с VLA), а VC в него не можеит
                                      Ответить
                                      • MSVC не хочет собирать с ержиме C.
                                        example.c
                                        <source>(3): error C2016: C requires that a struct or union have at least one member
                                        <source>(7): warning C4477: 'printf' : format string '%d' requires an argument of type 'int', but variadic argument 1 has type 'size_t'
                                        <source>(7): note: consider using '%zd' in the format string
                                        ASM generation compiler returned: 2


                                        В ЕРЖиме С++ sizeof(struct Empty) собирается нормально. Но ругается на sizeof(void).

                                        В С++ на sizeof(void) Шланг с Мсвц кидают ошибку.
                                        Ответить
                                        • короче по стандарту няшной не бывает объектов размерло нуль: ни пустых стуктур, ни массивов в ноль элементов.

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

                                          GCC и шланг ведут себя примерно как в С++, а M$ ругается

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

                                            А если замутить кроссовер пустой структуры и пустого массива?
                                            Как тебе такое, Шестой Гость?
                                            struct Empty
                                            {
                                               int none[];
                                            };

                                            Всё работает:
                                            https://godbolt.org/z/M755zjK6r
                                            Ответить
                                            • Это флексибл или как там его?
                                              а в ГЦЦ тоже работает???
                                              не думаю
                                              Ответить
                                        • Итого: в Сишке все проверенные мной компиляторы (gcc, clang, icc, msvc) хавают sizeof(void).

                                          Но MSVC отличился и почему-то выдает 0.

                                          В С++ все компиляторы хавают sizeof(Empty).

                                          gcc и icc компилят sizeof(void) и sizeof(Empty) для обоих языков. С разным результатом.
                                          Ответить
                                    • . If the expression is a constant expression, it shall have a value greater than zero

                                      >Quoting C11, chapter §6.7.6.2, Array declarators

                                      Всё, ты прав, а я обосрался

                                      Это какие-то послабления от GCC просто
                                      Ответить
                            • P.S. Подозреваю, что во многих статически типизированных языках нельзя объявить пустой статический массив. А вот структуру/запись без полей объявить обычно можно, чем пользуются без хаков.

                              Другое дело, когда есть поддержка динамических массивов. Пустой динамический массив уже не является таким идиотизмом, как пустой статический.
                              Ответить
                              • в яже, котлине, c#, с++ и даже в сишке можно

                                В яже есть реальный кейс, когда нужен пустой массив
                                Это связано с превращением листа в массив, угадаешь зачкем?
                                Ответить
                                • > А вот структуру/запись без полей объявить обычно можно, чем пользуются без хаков

                                  Какой Empty base optimization )))
                                  Ответить
                                • > В яже есть реальный кейс, когда нужен пустой массив

                                  В яже есть(были) реальные кейсы и когда нужны пустые объекты.

                                  Причём часто разные.
                                  Мьютекс для synchronized, проблема ABA, итд.
                                  Понятно что Йажа-объект он на самом деле никакой не пустой, т.к. там в каждом питухе сидит куча метушни, вроде примитивов для синхронизации, тегов gc и местного rtti.

                                  https://wiki.c2.com/?EveryObjectIsaMonitor
                                  Ответить
                                  • >EveryObjectIsaMonitor
                                    отвратительно

                                    Даже Блох раскаялся в этом, и просил так не делать

                                    В яже еще питухи бывают делают маркерный интерфейс, и его тоже проклял Блох.

                                    Ну еще бывают стратегии конечно, там объект как-бы просто указатель на класс, а оотудова на пачку методов

                                    Это тоже кал, но это скорее ООПкал, не специифичный для ЙАЖА
                                    Ответить
            • Пиши на нормальном языке и комплируй в жс или wasm
              Ответить
    • Мой сын — программист, тоже связан с базами данных. Я вижу, как он работает с интернетом, ищет там что-то, устанавливает. Вот, например, он установил какой-то Kerberos для домашней сети. А я думаю: почему я не понимаю?

      Правда мне, как новичку, было трудно формулировать вопросы наставнику.
      https://ebanoe-it.ru/2021/07/09/30/
      -----


      Интересно, сын AD развернул или mitовскую реализацию? И зачем? Чтобы со своего компа на мамин ходить?
      Ответить
      • Слова знакомые услышал?
        Ответить
      • я таким бредом перестал баловаться еще в со времен windows 2000. а когда появился cloud - так ваще такое гавно уже никому не нать
        Ответить
        • О чём речь?
          Ответить
          • речь о том что админить домашние сети уже не актуально и учить это нет смысла
            Ответить
            • В домашних сетях был домен?
              Ответить
              • у меня - да... он всегда есть его имя WORKGROUP
                Ответить
                • Надеюсь, у тебя дома есть как минимум три DC с распределенными FSMO?
                  А для самого дальнего компьюетра в отдельной сети сделан сайт с RO DC?

                  За состоянием серверов следишь через SCOM?
                  Ответить
      • Мне 31 год, бабу «не нюхал», и не хочется. Что, я теперь лох, ничтожество, неудачник? Или кто-нибудь ещё? Реально не понимаю, почему этим гордятся…
        https://ebanoe-it.ru/2021/08/26/sex-not-found/#more-1167
        Ответить
    • Прыщепитухи, помогите. На серваке дохуища ядер, и htop не помещается в экран. Как его, блядь, проскроллить?
      Ответить
      • Убери половину ядер, станет помещаться
        Ответить
      • Прыщебляди соснули!
        Ответить
      • купи более широкий монитор
        Ответить
        • Боюсь мне придётся вот так делать, чтобы растянуть терминал

          https://otvet.imgsmail.ru/download/186061b753f72b4c0c63d6eb581f6ee5_i-11.jpg
          Ответить
          • Блядь, серьёзно? Кнопки ↑/↓ и PgUp/PgDown не работают?
            Ответить
            • Хуёзно. Стрелки скролят список процессов, которого вооще не видно. PgUp/PgDown нихуя не делают.
              Ответить
              • А, понял теперь твою проблему. Ткни F2, там на первой же странице должны быть настройки отображения. Тем есть варианты по нескольку ядер на строку, убрать поядерное представление и заменить на среднюю загрузку процессоров и т.п. Где-то ещё должны быть возможность отключать разные красивости вроде разделителей, которые тоже место занимают на экране.
                Ответить
      • ЕБАНОЕ ПРЫЩЕГОВНО
        Какая есть консоле-гуйная альтернатива хтопу?
        Ответить
        • top, vmstat

          а так нажми f2, и пошукай там
          Ответить
          • Где??? Окна, где список процессов я не вижу. Экран полностью забит полосками
            245[||||||||||||||||||||||                          40.3%]
            Ответить
            • а, дакже так?
              какой багор)))

              открой ~/.config/htop/htoprc
              и пошамань там убрав ненужные fields
              Ответить
            • в слепую жми

              F2
              Enter
              ->
              Del
              ->
              Del
              F10


              удачи!

              ps: поля хранятся в field, в ~/.config/htop/htoprc
              Ответить
            • Поскольку я не пердолик какой-нибудь, я бы вообще такое делал по SNMP.
              Ответить
              • ну у него же не 1005000 серверов
                Ответить
                • Как минимум 246 ядер чистый изумруд у него, можно перестать страдать хернёй и задуматься над приличным решением.
                  Ответить
                  • SNMP нужно в VLAN выносить отдельный, затем траффик как-то туннелировать до себя, нельзя же его по голому интернету
                    Ответить
    • Cloudflare упал
      Ответить
    • Недавно пытался собрать проект для Андроида из-под Windows. Система сборки использовала Cmake.

      Блядский Cmake обосрался: то где-то вылезает бэкслэш вместо слэша и интерпретируется не как разделитель пути, а как символ экранирования; то двоеточие после буквы диска интерпретируется как разделитель списка путей.

      Я задолбался править его скрипты. Так и не собрал проект. Придётся убирать Cmake и писать скрипт для сборки самому с нуля.

      Прыщебляди соснули.
      Ответить
    • Если есть sync_with_stdio, то где тогда sync_with_conio?
      Ответить
    • Ожидание: ура, я на родине Дейкстры
      Реальность: вокруг кишат фон Поссумы и Мехметы
      Ответить
      • Шо, понаехало таки? Беженцем? Без тебя здесь говна не хватает?
        Ответить
    • Есть для питона линтер который ругается на сложение литералов "a" "b"?
      Ответить
      • >>> "a" + "b"
        'ab'
        >>> "a" "b"
        'ab'

        А что не так со сложением литералов "a" "b"? Должно получаться "15"?
        Ответить
        • Неявность.
          Сравни:
          [ "a" "b", "c"]
          ["a" + "b", "c"]
          В первом случае пропущена запятая или так и должно быть?
          Ответить
          • Во втором - явная опечатка в руской раскладке с шифтом.
            Ответить
          • На всякий случай напомню, что подобные отсосы случаются ввиду отсутствия в языке того, что перловики называют "qw", а рубисты просто '%w'.

            Поскольку питон и JS развиваются, лет через десять мы с вами увидим в них аналоги этого оператора.
            Ответить
        • 1. Абсолютно нахуй не нужно.
          2. 100% пропущена запятая.
          Ответить
    • echo '[{"aa":1}, {"aa":2}]' | ConvertFrom-Json | Where aa -eq 1 | ConvertTo-Json

      Почему не работает?

      echo '[{"aa":1}, {"aa":2}]' | ConvertFrom-Json | Where {$_.aa -eq 1} | ConvertTo-Json

      А так не фильтрует.
      Ответить
      • Ап.
        Ответить
      • потому что массив, ну
        echo '[{"aa":1}, {"aa":2}]' | ConvertFrom-Json |select {$_.gettype()}
        
        $_.gettype()
        ------------
        System.Object[]


        так попрбуй
        echo '[{"aa":1}, {"aa":2}]' | ConvertFrom-Json | where {$_[0].aa -eq 1}
        Ответить
        • Ну, из массива выбираем объекты с aa=1.
          Ответить
          • ну ты и лентяй, сёма
            $(echo '[{"aa":1}, {"aa":2}]' | ConvertFrom-Json) |where aa -EQ 2
            Ответить
            • Сёма это кто твоего папу ебал?
              Что за пиздец со скобками?
              Ответить
              • если будешь дерзить, я не буду с тобой разговаривать!

                https://stackoverflow.com/questions/20848507/why-does-powershell-give-different-result-in-one-liner-than-two-liner-when-conve

                Сам почитаешь, или перевести?
                Ответить
                • Че за нахуй? В пизду тогда этот помершелл.
                  Ответить
                  • Как ты быстро разочаровался-то.

                    Там написино, что в PS6 починили
                    Ответить
                    • Лолблядь :) Предположим я написал шкрипт, как мне его распространять?
                      Как поставить ps6?
                      Ответить
                      • скобочки поставь, ну

                        Там описано что сломано и почему
                        Ответить
                        • Хуле всё так сложно? В "питоне" таки приколов нету.
                          > что сломано и почему
                          Почему сломано?
                          Как этот ps6 поставить?
                          Ответить
                          • Ну ты реально что ли не читаешь по английски что ли?

                            ConvertFrom-Json посылает по пайплайну один объект, а не каждый элемент массива по отдельности.

                            В PS6 это исправили, добавив для обратной совместимости "-NoEnumerate"

                            Сравни с
                            PS C:\> Write-Output "hello", "world" | %{$_.Length}
                            5
                            5
                            PS C:\> Write-Output "hello", "world" -NoEnumerate | %{$_.Length}
                            2


                            Ты можешь себе в домашний каталог подсунуть .xml файлик и описать там нужное проперти, которое массив пустит по пайплайну в виде нескольких элементов путем подстановки скобок

                            https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-7.2

                            >как поставить
                            запусти powershell.exe

                            Видишь, написано
                            >Try the new cross-platform PowerShell https://aka.ms/pscore6

                            Как думаешь, что это значит?
                            Ответить