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

    0

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

    #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
    #152: https://govnokod.ru/28217 https://govnokod.xyz/_28217

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

    Комментарии (698) 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.
      Остерегайтесь подделок. Берегите себя и своих близких. Кок!
      Ответить
    • Допустим, есть зараженная флешка с BadUSB.
      Мне необходимо воткнуть ее в незараженный компьютер и скинуть оттуда файл.
      Какую ОС можно использовать, чтобы воткнуть ее и не заразить компьютер?
      *NIX, Windows не подойдут. Kolibri тоже, т.к.
      http://wiki.kolibrios.org/wiki/Shell/ru
      Все команды похожи на никсовые, а значит BadUSB может выполниться успешно, имитируя клавиатуру.
      Что посоветуете?
      Ответить
      • Возьми кокококонтроллер с юсб, залей прошивку для доступа к файловой системе, слей данные через UART.
        Ответить
      • Тебя наебали, рефит в BadUSB потратил функцию масс стораж.
        Ответить
        • Не обязательно. Можно притвориться хабом с воткнутой флешкой и HID-устройством, для незаметности.
          Ответить
          • Тогда логичнее было бы быть составным усройством.
            Ответить
            • В чем разница?
              Ответить
              • А сам как думаешь? Хочешь с нуля софтварный хаб писать?
                Ответить
                • В чем разница между хабом и составным устройством?
                  Ответить
                  • составное устройство поддерживает несколько классов одновременно

                    например hid и mass storage
                    или самотык и принтер

                    а хаб это хаб: через него подключаются другие устройства и он сам устройство тоже


                    надо вызвать броманда, он в спеке USB хорошо рубил, и даже пояснял мне за companion controllers, когда мне надо было устройство на хабе выключать
                    Ответить
                    • Жалко что ему это к зарплате ничег оне прибавило.
                      Ответить
                      • откуда ты знаешь? ты что, видел его ндфл-2?
                        Ответить
                        • Он же прикладником работал?
                          Ответить
                          • > прикладником

                            Ну было когда-то чуть-чуть прикладнухи -- ведро, сайтики и т.п. От пыхи и жабы не зарекаются.
                            Ответить
                            • прикладуха тоже ведь не всегда хпх или там пх, бывают и интересные задачи
                              Ответить
                              • ДА ЧТО ЗА ПХ БЛЯДЬ?
                                Ответить
                                • Это как гх, но пх.
                                  Ответить
                                  • А что за гх?
                                    Ответить
                                    • Opera GX — это специальная геймерская версия браузера Opera. В ней реализованы уникальные функции, такие как ограничение использования ресурсов ЦП, оперативной памяти и сетевого трафика, помогающие играть и просматривать веб-страницы с максимальным удобством. (блядь ну и булщит)
                                      Ответить
                              • Я не о том, что это не интересно, а о том, что с прикладнухой у меня опыта кот наплакал.
                                Ответить
                                • Плак-плак!
                                  Ответить
                                • в чём разница между опытом прикладника и системщика?
                                  Ответить
                                  • У меня нету опыта работы с популярными нынче фреймворками для прикладнухи. Разве что Qt да (старый) ангуляр жс. Не, я представляю как всё это работает. Но придётся в доках и гугле ковыряться постоянно. Т.е. джун с опытом, скорее всего, решит задачу быстрее.
                                    Ответить
                                    • Да, придётся доку читать. Минимум часа два потеряешь, а то и три
                                      Ответить
                                      • С учётом того, насколько раздуты сейчас фреймворки -- тут и за 2-3 недели не управишься пока раскуришь новый язык и 100500 утилит для его утрамбовывания в жс...

                                        Мне вот за новый ангуляр вообще не хочется браться по этой причине.
                                        Ответить
                                        • Именно поэтому я за «PHP».
                                          Ответить
                                        • 2-3 недели нужно чтобы стать местным гуру, но это не нужно.

                                          Angular2 это примерно как Qt: там всё есть, и местами весьма даже годное, но всё свое. У него действительно сложноватая рахитектура, а под копотом rxjs, webpack, eslint, TS и karma, которые тоже не очень просты. Зато на выходе совсем другой экспириенс.

                                          Не знаю как Angular, но TS тебе точно нужно попроловать
                                          Ответить
                                          • > TS тебе точно нужно попробовать

                                            Звучит как очередная порнуха на порнхабе.

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

                                              >под веб не пилю
                                              не зарекайся
                                              Ответить
                                          • нахуя рагуляр, если есть vue, который намного проще? только ради ts? vue его тоже умеет, на нём собсно и написан
                                            Ответить
                                            • не только. Рагуляр это такой как-бы фуллстек от фронта: он тебе генерит компоненты и тесты для них и формочки и сам кучу либов с собой несет и их обновляет

                                              Я не говорю, что это прям всегда хорошо, но свои плюсы есть: не надо по частям собирать там
                                              Ответить
                                              • > он тебе генерит компоненты
                                                – кнопка "сделать пиздато"?

                                                > кучу либов с собой несет и их обновляет
                                                – и лефтпад обновляет?))

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

                                                  Ангуляр2 всё делает сам.

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

                                                  Но если ты гуру фронта, то лучше собрать всё самому, потому что если у тебя задачи ЧУТЬ ЧУТЬ отличаюися от ангуляровых, то ты заебешься всё переделывать. Получица каша из топора.
                                                  Ответить
                    • > усройство на хабе выключать
                      Ничего не получится, нужен хаб с per-port powers witching, а они очень редкие. Я, например, на авито брал царапанный для экспериментов.
                      Ответить
                      • У меня был root hub вроде.

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



                        См пождробнее
                        https://govnokod.xyz/_24386/#comment-374071
                        Ответить
                        • > root hub
                          У этих ganged powers witching, ни разу не встречал per port.

                          > одной хорошей ос
                          Как не изъебывайся, всё равно прыщи.
                          Ответить
                          • не, у прыщец для этого есть API через sys
                            /sys/bus/usb/devices/ -> кудато-туды
                            Ответить
                            • > /sys/bus/usb/devices/
                              Жопа-сручка какая-то. Есть же приятная libusb как раз для всего этого.
                              Ответить
                              • так поди через туже дырку и работает?
                                /sys/ просто для шелла удобный

                                в обещм в той ОС нельзя было суспендить порт (а в прыщах можно было)

                                Моими стараньями стало и там можно, но потом оказалось, что это никому не надо
                                Ответить
                                • Я не знаю, как оно устроено внутри, но получилось приятно и даже до некоторой степени портабельно.
                                  Ответить
                                • В шиндошс кстати нельзя потому что майкорсофт
                                  Ответить
      • OpenVMS?
        Ответить
      • Что такое «заражённая флешка»? Что за эксплойт, что автоматом запускается при вставке?
        Ответить
        • ↑ не умеющий пользоваться гуглом.

          Это устройство, которое притворяется клавиатурой / другим устройством ввода.

          Оно может вызвать консоль и набрать пару команд от текущего юзера.
          Так, как HID подключается и устанавливается автоматически в большинстве систем, большинство систем уязвимы. Антивирусами определить невозможно, потому что внешне ничем не отличается от обычной клавиатуры.
          Ответить
          • На самом деле FUD абсолютно валидный, поскольку заражение BadUSB - это лол. А так-то крутой хаккирский дивайс, от которого все кипятком писаются и рассказывают байки - вещь весьма редкая, как и успешные взломы с его помощью.
            Ответить
            • Что за фуд?
              Ответить
              • Fast FUD.

                Кстати, если бы и существовали мистические флешки для взлома Петногона, то решение простое:
                Router>
                *Jun 21 19:52:10.950: %USB_HOST_STACK-5-USB_ENUM_UNSUPPORTED_DEVICE: Unsupported device inserted. Host id 1, Device Addr 18.
                Ответить
                • ena сделай, ну
                  Ответить
                  • ter mon достаточно для эверивана
                    Ответить
                    • это дебаг в терминал высрать?

                      Я проебал свой packet tracer, надо бы скачать, а то из живых сисек у меня тока 800е и какой-то древний каталистический свиЩ, да и те далеко
                      Ответить
                      • Да, логгирование.

                        > 800е
                        Понятие очень растяжимое,может быть 801 и может быть 891
                        Ответить
                        • Ну 800-е это сохо.

                          У меня есть прошловековая 802 кажется, там есть ком порт, я туда роботикс курьер вткал, и делал дайлап и дайлин, и тек.
                          Собссно, это первый раз был, когда я до сиськи дорвался двацать лет нозад.

                          Вторая -- 857w кажется. Я ее подюключал по ADSLю к Ростелекому (тогда у нас назывался Авангард).

                          Ради настройки этой шляпы я и разбирался как ADSL устроен: всякие ADSL2, ADSL+ и пр, поверх ATM с его PVC, поверх encapusaltion level, эмулящий ethernet, а поверх (уже в моем случае) PPPoE, а дальше уже Интрент (хотя PPP можно вроде и поверх ATM сразу запустить).

                          Пирдоль была адская, пришлось книжку про ATM читать.

                          Потом такая же пирдоль была с обратной стороны, где dot11, потому что я тогда wifi еще слабо понимал.
                          Это был еще G с скоростью 45 (а нетто реально 20 была).

                          Даже хотел статью нахабр написить, но забил
                          Ответить
                          • > 857w
                            Собери на ней нечто подобное pierdole pihole.

                            > PPP можно вроде и поверх ATM
                            This. LANE не нужен.
                            И вообще надо было FastStep поставить и заполнить подстановки в шаблоне.

                            > dot11
                            Во всех W они по умолчанию не хотят чтобы ты бриджил wired и wireless, и очень правильно делают.
                            Ответить
                            • LANE это вроде эмуляция именно бродкаста поверх P2P сетей ATM, там был спец bounce server или как-то так, а у Авангарда был Ethernet over ATM просто, без поддержки бродкаста.

                              но это всё часть AAL5.

                              Блядь как это было давно всё, всё уже забыл
                              Ответить
                            • >Во всех W они по умолчанию не хотят чтобы ты бриджил wired и wireless, и очень правильно делают.


                              Ну смотря для чего: дома у меня бридж конечно, потому что зачем мне маршрутизацию между ноутом и десктопом делать? Чтобы мультикасты не ходили?

                              А гости в отдельном мосту конечно, без доступа к локалке
                              Ответить
                              • > дома у меня
                                Как человек эпохи возрождения, спишь на втором этаже, а внизу держишь лавку branch office.
                                Ответить
          • А должен я гуглить любую хуйню, которую где-то вбросили?
            Ответить
          • Ебать говно.
            Ответить
          • ну тогда ты прав, надо сделать хаб, который не пропускает HID, а только лишь mass storage
            Ответить
    • Nee, je bent geen mens, je bent een varken
      Ответить
      • Men wordt niet als soldaat geboren, men wordt als soldaat gedood.
        Ответить
        • я знаю, я про это песню у Летова слушал. А кто такой "men"?
          Ответить
          • Безличное местоимение. Относится к «неопределённой группе лиц». Употребляется как квантор всеобщности, т. е. когда говорят об общеизвестном факте. По нелепой случайности глагол ставится в единственное число.

            В немецком оно звучит как «man». Мартин Хайдеггер ввёл «феномен das Man», добавив к этому местоимению артикль, как к существительному. Гугли Хайдеггера, найдёшь этот феномен.
            Ответить
            • То есть типа "people"?
              Я такого еще не проходил:) Я знаю только man/mannen и mens (в смысле человек)
              Ответить
              • Как будет по-нидерландски «можно» и «нужно»?

                По-немецки будет «man kann»/«man darf» и «man muß»/«man soll». Т. е. буквально «неопределённое лицо» может или должно.
                Ответить
                • P.S. Погуглил. Всё-таки нидерландцы чаще употребляют конкретные личные местоимения. «Men» берегут на случай правил и обобщений.

                  Да, похоже, что ещё употребляют, когда англичане говорят «people»:

                  https://context.reverso.net/перевод/голландский-русский/men
                  Ответить
              • Кстати, переведи предложение: «Говорят, что кур доят».
                Ответить
    • > 700 Million Users and Telegram Premium

      > Telegram now has over 700 million active users.

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

      > To celebrate, we're launching Telegram Premium.

      ебать у вас празднование конечно

      > Premium: Doubled Limits
      • Follow up to 1000 channels.
      • Organize your chats into 20 folders, holding 200 chats each.
      • Pin 10 chats in your main list.
      • Reserve up to 20 public t.me links.
      • Save 400 favorite GIFs and 10 favorite stickers.
      • Write a longer bio for your profile and include links.
      • Include longer captions for photos and videos.

      Спасибо, очень полезно
      Ответить
      • А помните чей-то лозунг «Это бесплатно и всегда будет бесплатно»?

        Паша повторяет Пыню во всём.
        Ответить
        • Откуда пошло слово «Пыня»?
          Ответить
          • Изначально так называли какого-то корейца. Имена у них такие.

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

              https://cs8.pikabu.ru/post_img/2017/09/03/7/1504438092189013103.jpg
              Ответить
          • на lurkmore было вполне понятно написано
            Ответить
            • Нашёл зеркало, не впечатлило.

              А вот кого звали Пыней до 2017-го года:

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

              Пруфлинк:

              https://nitter.fdn.fr/search?q=пыня%20until%3A2017-01-01&f=live
              Ответить
              • Ты ниттером пользуешься чтобы блокировки обходить, или потому что он удобнее?
                Ответить
                • И для того, и для другого:
                  1. Материал увидят даже те, у кого Твиттор заблокирован.
                  2. У Ниттера нет такого обилия жопоскриптов, он не тормозит в браузерах.

                  У Снаута стоит какое-то расширение для параноиков типа Noscript, поэтому ему ссылки на оригинальный Твиттор не нравятся.
                  Ответить
                  • > У Снаута стоит какое-то расширение для параноиков
                    Кстати, где он?
                    Ответить
                  • > У Ниттера нет такого обилия жопоскриптов, он не тормозит в браузерах.
                    Подтверждаю.

                    > У Снаута стоит какое-то расширение для параноиков типа Noscript
                    #metoo
                    Да тут даже не паранойя, просто выполняется меньше ненужного говна.
                    Взять хотя бы ГК:
                    * google-anal
                    * twitter
                    * facebook
                    * reformal
                    Ответить
                    • У ниттера URL изоброжений совсем шакальные, даже шакальнее, чем у оригинала.
                      Ответить
                • Кстати, Инканус кажется когда-то делал объёмный пост, где дал отличную подборку сайтов вроде nitter, чтобы читать без регистраций всякие фейсбуки и прочие линкедины.

                  Ни у кого не осталось?
                  Ответить
                  • Для Линкедина не нашёл. Зато для Реддита аж два движка (Теддит и Либреддит). И для Ютуба два (на второй — Piped — ссылку кину позже).

                    https://govnokod.ru/27581#comment658023

                    (показать всё, что скрыто)
                    Ответить
                    • Ура!
                      В «Ютуб» я уже много лет не заходил.
                      Смотрю через mpv или newpipe на телефоне (отдельное спасибо за хинт).
                      mpv  --force-window  https://www.youtube.com/watch?v=kaKO1BaG0r --ytdl-format='bestaudio+video[height<=720]'
                      
                      # искать и слушать музыку так:
                      mpv --loop --no-video ytdl://ytsearch:"петухи запели" --ytdl-format='bestaudio'

                      Нужно всего-лишь:
                      pip3 install yt-dlp
                      Ответить
                      • Некоторые энтузиасты на своём сервере запустили сразу несколько сервисов.

                        Реальный пример:

                        https://mha.fi/services/
                        Ответить
                        • Кстати mpv и yt-dlp умеют воспроизводить и качать видосы с твитора.

                          Теперь можно забыть про их мерзкие bloat htmlи, age restriction, спойлеры и пирдолинг m3u8.
                          Ответить
                          • m3u напоминает копролит winamp, а всё остальное там напоминает DVD-Video
                            уэбмакаки переизобрели болванки с киношками
                            Ответить
                      • > https://www.youtube.com/watch?v=kaKO1BaG0r

                        > This video isn't available anymore
                        Ответить
                        • А что там было?
                          Ответить
                          • откуда ж я знаю. факт в том, что видео с таким айди когда-то всё-таки было
                            Ответить
                            • Может они на любой левый айди так отвечают
                              Ответить
                              • вероятно

                                какая обфускация )))
                                Ответить
                              • Интересно, а они борются со случайным появлением в айдишниках какого-нибудь kKKni9gaR? А то будет как с тем retarded...
                                Ответить
                                • У них вордфильтр 1337 тоже распознает, но не всегда, в поясковых предложениях можно встретить
                                  https://flightaware.com/resources/registration/N1993R

                                  Кстати, через несколько месяцев истекает и будет доступно для регистрации.
                                  Ответить
                    • https://www.funkyspacemonkey.com/foss-front-ends-and-alternatives-for-twitter-instagram-reddit-youtube-and-more

                      Подборка всяких ProxiTok, Nitter, Bibliogram.
                      Ответить
                      • > currated
                        Сразу модное хипсторское словечко насторожило.
                        И правильно сделало, потому что у него там зачем-то медиум, которому хипстота ищет и не находит альтернативу из-за того, что там только 5 страниц на халяву. Причем автор жежешечки может это отключить, но публика настолько раковая, что никто этого не делает.
                        Ответить
                  • В 2007-м году только начали появляться смартфоны, и молодежь хотела делиться с друзьями тем, что они кушали, и где сегодня побывали.
                    Ответить
              • • Organize your chats into 20 folders, holding 200 chats each.
                Ответить
        • Ну так оно и осталось бесплатным как есть. Платные только новые фичи.
          Ответить
          • смешнее всего, что пашка в СНГшке сделал свою проприетарную говну дефактой
            Прчем второй, сука, раз
            Ответить
            • Альфач
              Ответить
              • Паша гениальный манагер на самом деле.

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

                И хуяк -- Паша дал им ВК.

                В 2015-м все жутко боялись, что ФСБ и ЦРУ увидят их приватные нюд-фотки, и вжух -- Паша дал им "безопасный" "телеграм".

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

                  у них обычный сайт тогда не поддерживал rtc: чтобы про новые сообщения узнать, нужно было страницу обновить, какие смартфоны нахрен
                  Ответить
      • Ого, 449р в месяц. Ну ради премиум-иконки можно и заплатить
        Ответить
        • За 449 р. в месяц можно арендовать VPS и запустить свой Телеграм с подкидным дураком и куртизанками.
          Ответить
          • Ну Пашка так и сделает. Хорошо он придумал, да? Собрал лярд пользователей на бесплатном, а потом бахнул подписку и обезьянки по бежали покупать.
            Ответить
            • Вот прямо сейчас нашёл VPS за такую сумму: два ядра, два гига, десять гигов SSD.
              Ответить
              • Ну тут еще нада смотреть скока времени на тех двух ядрах, и сколько там реально IOPS получается, хотя у меня на свебе так примерно и есть
                Ответить
              • Найти-то можно, а вот заплатить будет проблематично - нам свинособакам карт белого человека не положено. Разве что свинособака сама переехала к белым, сделала крюк в кумысстан или она собака-криптяка.
                Ответить
          • ... в котором будешь сидеть сам
            Ответить
    • Институт ВЭБа предложил создать криптозолотой рубль

      https://www.rbc.ru/economics/22/06/2022/62b1c39f9a7947c1bf42981f

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

        Дальше эту подпись спиздили. Дальше что? Отозвать подпись и сжечь всестарые деньги? Подождать 5 минут, пока спиздивший подпись наэмитит 10000000000000 рублей, и один рубль начнет стоить четверть цента?
        Ответить
      • Ответить
      • А знаете что? Вот такие скаленные разговорчики про полновесный алтын - признак разворота. Уже такое бывало несколько раз, сейчас крипота - запоздалая дань моде.
        Ответить
    • ну всё, приехали
      мне придется учить Го
      Ответить
      • Радуйся что не OdinAss
        Ответить
        • А как 1Сники хранят код? Внутри базы и во внешних проводках?
          Типа VCS у вас там нету?
          Ответить
          • Внутри базы и VCS как ты описал.
            Ответить
            • Трагедия акксессников, кстати. Весь гитхаб завален зловонными попытками распатронить сторож базы на *.sql и *.bas
              Ответить
    • Пьер Нарцисс помер (камерунец).
      Юрий Шатунов сдох.
      Ответить
      • ого, комбо какое!


        Белые козы
        Белые козы
        Беззащитны рога
        Что с вами сделали
        Снег и морозы
        Лишив вас молока

        Юра срал в эфир еще в моем глубоком детстве песней про розы, потом ушел в закат лет на двадцать, и зачем-то снова всплыл, чтобы уже кончиться теперь окончательно
        Ответить
      • Скоро все сдохнем.
        Ответить
        • Здрасте. Приятно видеть сговорчивого гражданина. Мы ценим сотрудничество.
          Ответить
      • А кто такой первый? Его застрелили, кстати, нет?
        Ответить
    • Где в Москве можно купить клаву для ноута? Нужно сегодня
      Ответить
      • для какого именно ноута? на маркете искал?
        Ответить
        • Старый ноут Acer. На маркете есть, но доставка ближайшая на ВС. В идеале в какой-то офлайн магаз прийти, чтобы с большими шансами это было
          Ответить
          • оффлан магазинов нынче и нет почти(

            позвони вот этим питухам
            https://www.partsdirect.ru/notebooks

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

              Жаль, что проебали. Хорошие были времена.

              Только что нашёл питухов https://vnoutbuke.ru у которых есть на складе
              Ответить
              • Я и сам тоскую по временам, когда можно было зайти в компьютерную лавочку, и посмотреть на материнки...

                А у парцдирект нету?
                Ответить
                • Не звонил. Я увидел твоё сообщение после того, как выехал к этим
                  Ответить
                  • ну смотри сам) там есть поиск на сайте и магазы в городе
                    вдруг там дешевале
                    Ответить
                • Кстати, kcalbCube определяет цвет контроллера по цвету его платы
                  Ответить
                • Партдирект это же кусок говна, которые тупо возят с али без гарантии.
                  А лавочки и сейчас бывают, но редко, бывают крупные сетевые лавищи.
                  Ответить
      • А сколько ты готов переплатить?
        Ответить
      • Гипотетически можно на «компьютерных рынках» («Савёловский», «Будённовский», «Царицынский», может быть, ещё на «Митинском» или на «Горбушке»). Но с большой вероятностью именно сегодня именно в этой палатке этой детали не будет, а будет она на оптовом складе в Московской или вообще в соседней области, с которого эту деталь в палатку доставят не раньше, чем завтра. А если не повезёт, ждать придётся больше недели.
        Ответить
        • а неужели еще бывают радиорынки?

          В Питере был рынок Юнона (у метро Автово, на проспекте Маршала Казакова). Там прошла часть моего детства, в блуждании между ларьками с видеокартами и винчестерами

          обратите внимание на логотипы МТС и БИлайн
          https://cs14.pikabu.ru/post_img/big/2021/10/07/8/1633609659183417184.jpg
          Ответить
          • или вот
            https://wikiway.com/upload/resize_cache/iblock/eec/500_330_2/yarmarka-_yunona_.jpg

            там на материнке беленькие это PCI, а черненькие это ISA
            Квадратик это сокет 370.

            какой это год?
            Ответить
            • Уи-и-и!
              Ответить
            • А помнишь, SIMM 30 пин, SIMM 72 пина FPM, SIMM 72 пина EDO, несколько вариантов DIMM?

              А VLB (VESA local bus) помнишь?
              Ответить
              • Помню, конечно. SIMMы занимали половину канала (32 бита из 64 бит каналов к памяти у пня), и вставить их не поломав пины было практически нереально:)

                DIMM (именно dual -- потому что ужде 64) вставлялись много проще.

                FPM, EDO, BEDO и прочие сорта аснихронной памяти старались ускорить работу обычной оперативки засчет выдачи пачки данных без закрытия страницы (потому что скорее всего тебе захочется почитать еще дальше), но все это убил SDRAM, синхронизовавший читение памяти контроллером с тактами CPU.
                Стало просто настолько лучше, что все стали развивать его (DDR SDRAM, DDR2 и пр).

                VLB это была попытка вендоров видеокарт расширить ISA добавив туда прямой доступ к памяти (в ISA командовать шиной мог только процессор или специальный DMA петух, медленный очень). Все это убил PCI.
                Ответить
                • > вставить их не поломав пины было практически нереально
                  Кому-то надо покурить и успокоиться. Ничего же сложного в коннекторе нет. Прикладываешь вертикально и наклоняешь пока не защелкнется. Небось ключ не подходил у тебя.
                  Ответить
                  • Заебал ты, кися.
                    Ответить
                  • все у меня подходило, просто некловким движением я однажды погнул пин

                    а в димме погнуть пин нереально было

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

            https://vecherka.spb.ru/?p=28103
            Ответить
            • P.S. Глянул карту. Сейчас станция «Ленинский проспект» к этому артефакту ближе.
              Ответить
            • >единственной наземной станции
              ну нет

              Девяткино еще, рыбацкое.. Хотя на тот момент конечно была только она наземная
              Ответить
          • автоси это курсы по первой версии языка си?
            Ответить
    • Ахаха, там джавашки новый велосипед изобрели.
      Вместо того чтобы взять нормальный RAII, опять лепят на свой велик какие-то кривые, нерасширябельные костыли.
      Response handle() throws ExecutionException, InterruptedException {
          try (var scope = new StructuredTaskScope.ShutdownOnFailure()) {
              Future<String>  user  = scope.fork(() -> findUser()); 
              Future<Integer> order = scope.fork(() -> fetchOrder());
      
              scope.join();          // Join both forks
              scope.throwIfFailed(); // ... and propagate errors
      
              // Here, both forks have succeeded, so compose their results
              return new Response(user.resultNow(), order.resultNow());
          }
      }


      In contrast to the original example, understanding the lifetimes of the threads involved is easy: under all conditions, the lifetimes are confined to a lexical scope: body of the try-with-resources. Furthermore, this code gets a number of desirable properties for free:

      Error handling with short-circuiting: If either findUser or fetchOrder fail, the other will be cancelled if it hasn't yet completed (this is managed by the cancellation policy implemented by ShutdownOnFailure; other policies are possible too).

      Cancellation Propagation: If the thread running handle is interrupted before or during the call to join, both forks will be automatically cancelled when the scope is exited.

      Clarity: The above code has a clear structure: set up the child subtasks, wait for them (either to complete or to be canceled), and then decide whether to succeed (and process the results of the child tasks, which are already finished) or fail (and the subtasks are already finished, so there's nothing more to clean up.)


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

      https://openjdk.org/jeps/428
      Ответить
      • походил по ссылкам, дошел до питона

        bpo-30038: This is a bug in the logic used to hand-off from the C-level signal handler to the Python-level signal handler: it turns out that the C-level signal handler pokes the main thread to wake it up before it sets the flag to tell it that there's a signal pending. So on Windows where the C-level handler runs in its own thread, then depending on how the kernel schedules things, sometimes the main thread gets woken up, checks for signals, sees that the flag is not set, goes back to sleep... and then the flag gets set, but it's already too late.
        Ответить
    • Ротоёб был прав.

      Чтобы в goвне высрать JSON, нужно описать структуру, высрать в неё, а потом позвать маршала Жукова. Пиздец, даже в крестах такого нету.
      Ответить
      • Вполне нормально. В цисгендерных средах типа WS ты бы и структуру сгенерировал по схеме, но поскольку миром правят копрофилы, ты напиши структуру руками, пожалуйста
        Ответить
      • А что не так? JSON нужно писать printf("\t\t\"name\": \"%s\"\n", pig.name)?

        (ох, извините, это ж кресты: strm << "\t\t\"name\":" << pig.name << "\"" << std::endl)
        Ответить
        • А есть какой-нибудь std::tab, std::dblquote или типа того, по аналогии со std::endl, чтобы выглядело совсем по-крестоблядски?
          Ответить
          • endl там фор зэ гуд ризон: он разный на разных плотформах
            Ответить
            • Разве? Вроде вся разница во флаше потока. А подклеивание '\r' уже настройками стрима рулится.
              Ответить
      • Кто-то запрещает просто поклеить строки или сделать свои обёртки над поклейкой строк?
        Ответить
        • Я не хочу обёртки сам делать, я хочу готовое.
          Ответить
        • Запрещает инъекция и Scarlett O''\'''\'Hara из "Унесённых ветром".

          А еще запрещает нежелание вручную делать квадратное колесо.

          --А почему в вашем ЯП нету оператора умножения?
          --А что мешает реализовать его вручную через сложение?
          Ответить
          • -- Почему в вашем языке кроме лямбда-функций ничего нет?
            -- Потому что их достаточно для любых задач.
            Ответить
            • ну так! Как говорит j1234 "но можно намакроёбить". Рассел с Макарти его услышали однажды, и сделали вот сам знаешь что
              Ответить
    • Ох представляю как горит у моих бывших коллег, которые получают ЗП в баксах в конверте. Как «дядька» их обналичивает - я вообще хз.
      Ответить
      • >которые получают ЗП в баксах в конверте
        Стесняюсь спросить, это в Москве такое еще бывает?? Или это в твоем родном городе?

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

            Разве что у него в конверте лям рублей в месяц приезжал?

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

              У нас годный синьор начинается от 6кк TC в год по моим предположениям. Хотя и наебать тоже могут.
              Ответить
              • А ты не застал падение бакса в 2006-2007 же?

                Тогда все, кто еще получал баксы, охуели от того, что из 31 он стал 23.
                https://ru.myfin.by/currency/cb-rf/usd/23-07-2007

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

                > 6кк TC в год
                6 000 000 в год, сиречь где-то пол ляма в мес?
                Ответить
                • > даже загранник может оказаться трудно получить

                  Загранник-то не особо и проблема. А вот с визой могут появиться сложности.
                  Ответить
                  • ну у меня спрашивали, де я работаю

                    Да, визу безработному хую могут и не дать, это правда.

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

                    Так что если ты получаешь ЗП в конверте, то ты и живи тогда с наличкой.

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

      НХНК переодически работает поверх СХНК увеличивая количество абстракций. Все люди боятся трогать СХНК, а НХНК боятся трогать все, кроме его автора, но кажется автор тоже предпочитает без необходимости его не трогать.

      Как следствие, спайка НХНК и СХНК обрастает кучей ифов, которые можно филигранно ввинтить для твоего конкретного случая, не сломав при этом остальные двадцать восемь, на которые всё ранво нет тестов

      НХНК частично дублирует функционал СХНК, но реализует его не полностью, потому некоторые вещи можно сделать только по старому.

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

      Что с этим делать?

      1. Смириться, и забить.

      2. Взять на себя роль Архитектура и Все Переписать

      3. Ваш вариант
      Ответить
      • уволиться
        Ответить
        • Не спортивно. Может быть лучше смотреть на ситуацию как на шанс прокачать скил Разгребания Говна?
          Ответить
          • очень полезный скилл
            Ответить
            • кажешь, не полезный? А чем тогда тимлиды занимаются?

              Или просто не надо брать луней на работу, а сразу надо брать тех, кто не пишет говна?
              Ответить
              • разгребание говна на уровне как скилл гораздо менее полезен чем разгребание говна на уровне сервисов/команд

                >А чем тогда тимлиды занимаются
                в фаанге тимлид занимается организацией беклога в спринты и проектированием новых фич/ревью дизайн-документов
                Ответить
                • а кто делает архитектуру?

                  Собссно описываемый мною кал есть следствие слабого архитектора просто
                  Ответить
          • Нахуя тебе это скилл? Прокачивай скилл архитектора, всё равно хуже не сделаешь, у тебя бесплатный плейграунд, на котором ты можешь насовершать своих ошибок, чтобы стать лучше.
            Ответить
      • Я пришел к выводу что в случае с моей личностью ничего кроме 2 не работает, точнее, первой половины. Всё переписать - вряд ли, но если не взяться за организацию и не бить по рукам, то оно только и будет пребывать в печальном состоянии и обрастать хуйней, давя психологически.
        Ответить
        • Я тоже склоняюсь к варианту 2. Кажется, это может даже положительно сказаться на карьере.
          Но я не уверен, что мой рот достаточно большой, чтобы пропихнуть туда этот арбуз
          Ответить
      • Хрюкнуть не пробовал?.. Попробуй!
        Ответить
    • Или вот есть задача.

      Тесты на CI занимают от двух до четырех часов, и 30% из них мигает. В среднем, каждый зеленый тест падает каждый пятый запуск.

      Буратино пытается прогнать тесты на CI перед пушем (это называется safe push). Push пройдет только если все тесты будут зелеными.

      Вопрос к математикам: сколько дней понадобится Буратине, чтобы запушить свой фикс из двух строчек?

      ------
      Я реально хочу написать что-то типа Задачника по математике Григория Остера, но про программистов
      Ответить
      • Это зависит от количества тестов, которое здесь не обозначено никак.
        Ответить
        • правильно))) ну допустим их 10К
          Ответить
          • Вероятность прохождения однократного прогона будет 0.8^3000, а вероятность прохождения, которую мы считаем приемлемой, тут тоже не указана, но там мы уже будем считать (1 - 0.8^3000)^n как вероятность провала n запусков.
            Ответить
    • cmake под Виндой не может ничего скачать с сервера www.openssl.org.

      Сервер www.openssl.org в настоящий момент для TLS1.2 поддерживает всего три шифра:
      • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (eq. 3072 bits RSA) FS 256
      • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp256r1 (eq. 3072 bits RSA) FS 128
      • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA 256 (0xcca8) ECDH secp256r1 (eq. 3072 bits RSA) FS

      cmake под Виндой использует SCHANNEL — микрософтовский фреймворк для криптушни. SCHANNEL во всех версиях Windows < 10 не поддерживает ни один из трёх вышеперечисленных шифров.

      Можно ли заставить cmake под Виндой использовать openssl/gnutls вместо SCHANNEL или для этого его нужно перекомпилировать?
      Ответить
      • P.S. cmake, собранный под mingw, не использует SCHANNEL, в отличие от cmake, собранного под MSVC.

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

            Потом некоторые микрософтовские сайты перестали работать в IE11. Настоятельно требуют поставить новый Edge (который на Хромиуме).

            В Visual Studio стали вкладывать Clang.

            MS шаг за шагом отказывается от собственных инструментов в пользу прыщеговна.

            Зачем? Зачем?
            Ответить
            • Потому что сначала была стратегия "наш манямирок совместим только с нами", но она обосралась, потому что на сцену вышел Интернет, а там на серверах совсем не виндуос был.

              Тогда они взяли стратегию Embrace, extend, and extinguish. Это случилось в районе W2K, когда они как-бы начали дрейф в сторону стаднатов Интернета, расширяя их.

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

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

              -

              Винда, кстати, превращается в кашу-из-топора потихоньку. Скоро станет не понятно зачем иметь дырявое платное говно, которому нужно делать sfc /scannow, если тебе все равно ничего не нужно кроме Chrome, а Chrome у тебя и на прыщах есть, и бесплатно.

              Это вот "у меня не работает Office 97, 1C 7.7 и любимая игрушка без винды" с каждым годом все менее актуально
              Ответить
              • А с драйверами как сейчас? Железки, для которых драйвера есть только под Винду, тоже всё реже встречаются?
                Ответить
                • конечно

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

                  Наконец, вендоры материнок могут более-ли-менее кросс-платформенно общаться с ОС благодаря ACPI (но все равно харкодят везде Windows2007 конечно)

                  Каноникал продает ноуты полностью оттестированные ими ими официально поддерживаемые, где все точно будет работать. А рэндомный самосбор может конечно и не завестись
                  Ответить
                  • ну вот я только сказал, и тут же коллега рассказал, как у него отваливалась сетевая (суперсвежая) пока он не отключил ей aspm
                    Ответить
                  • > софтварных недожелезок (типа винмодемов)
                    На прыщах любой вайфай тащит за собой """firmware""".
                    Ответить
                    • firmware и на винде тоже тащит, ось тут не причем

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

                      Однако фирмварь не равно софтварный момед или говно на AMR/ACR (ебать я старый, правда?), потому что мне похуй что там внутри устройства происходит, главное чтобы оно поддерживало нужные мне интерфейсы
                      Ответить
                      • > а в ядре бинарного блоба быть не может,
                        А static const char definitely_not_a_blob[] = { 0x66, 0x83, 0x00, ... }; ? Это же не программный код, исполняемый на машине, там архитектура известна заранее...
                        Ответить
                        • > Это же не программный код, исполняемый на машине
                          Тео Де-Раат, залогиньтесь:))

                          GPL кажется не позволяет никакой блоб, похуй где он выполняется, пусть даже это вооще PNG файл несвободный
                          Ответить
                          • A, это с лицензией связано.
                            Ответить
                          • #define BYTE_00 0x00
                            #define BYTE_01 0x01
                            #define BYTE_02 0x02
                            #define BYTE_03 0x03
                            // ...
                            #define BYTE_FF 0xFF
                            
                            static const char blob_source_code = {
                                BYTE_66,
                                BYTE_83,
                                BYTE_00,
                                // ...
                            };

                            > GPL кажется не позволяет никакой блоб, похуй где он выполняется, пусть даже это вооще PNG файл несвободный
                            Пусть докажут, что это блоб, а не исходный код на языке «BYTE_ASM».
                            Ответить
                            • Запихни туда какое-нибудь произведение принадлежащее Мыши, или Водопроводчику. Тебе сразу покажут мастер-класс по доказательствам.
                              Ответить
                            • Юристы FSF позвонят, и все тебе расскажут
                              Ответить
                      • В Шиндошс это часть пакета драйвера и без глупого названия. А прыщах надо помнить обновить это говно.
                        А так эта часть занимается ровно тем же, что и софтмодемный драйвер.
                        Ответить
                        • Я давно предрек обрущение Windows. Это закон природы, одна из основополагающих истин.
                          Ответить
                        • >А так эта часть занимается ровно тем же, что и софтмодемный драйвер.


                          гологуб, ну что ты говоришь?

                          Прошивка работает на процессоре девайса, а софтварный винмодем на твоем CPU
                          Ответить
                          • Не знаю, кот такой гуглогуб, но ты же повёлся на прыщеслово (тнеу/тнем). У энклюзивных ни таких как все пердоликов (тнеу/тнем) так называется... драйвер. В нормальных ОС еще бывает WLAN IHV service для вынесения кода о, например, EAP MGMT из курнул-мода. Впрочем, ты же понимаешь, что без WPA сопликанта ты не получишь даже физического уровня, нет?

                            Так же софтовые модемы/звук, которые, конечно, попороще, но так же бесполезны без драйвера.
                            Ответить
                            • без WPA соплейканта и его брата iwd я не получу WPA, к анонимному говну я смогу вероятно подцепица

                              у прыща есть НЕТЛИНК интерфейс по имени nl80211 к картам, и вроде через него супликанты и пиздят.
                              Ответить
                            • ps: у спермы тоже есть свой супликант

                              PS C:\> Get-WmiObject win32_service | where name -EQ wlansvc | fl description
                              
                              
                              description : The WLANSVC service provides the logic required to configure, discover, connect to, and disconnect from a wireless local area network (WLAN) as defined by IEEE 802.11 standards. It also contains the logic to turn your comp
                                            uter into a software access point so that other devices or computers can connect to your computer wirelessly using a WLAN adapter that can support this. Stopping or disabling the WLANSVC service will make all WLAN adapters
                                             on your computer inaccessible from the Windows networking UI. It is strongly recommended that you have the WLANSVC service running if your computer has a WLAN adapter.


                              Спрашиваете, почему WMI, а не gsv?
                              Да потому что в Get-Service нету Descirption. Сёма, твой PS соснул
                              Ответить
                              • Нет, почему не sc qdescription как нормальные люди делают.
                                Ответить
                                • :))уел

                                  Я когда-то пользовался sc чтобы включать/выключать сервисы и смотреть их зависимости, но с завозом PS прочно о нем забыл.

                                  Дзякую, что напомнил.

                                  Кстати, через sc можно еще и драйверы крутить (суть те же сервисы, або с другим тиком запуска) а через gsv -- нет
                                  Ответить
              • иди поиграй на прыщах
                Ответить
                • Это надо было лет 15 назад говорить, когда на прыщах можно было поиграть только в скатывающегося с горы тукса да человека-картошку...
                  Ответить
                  • да ну

                    в bsd games всегда были отличные игры!

                    * number - convert Arabic numerals to English
                    * caesar - decrypt caesar cyphers
                    * primes - generate primes

                    чего еще желать?

                    Патейтохэд был в кедах вроде
                    Ответить
                    • > primes - generate primes

                      Скучный геймплей какой-то. Можно ведь не просто генерить простые числа, а вывести число и пусть игрок угадывает простое оно или нет.
                      Ответить
                      • Можно еще играть в Эратосфена

                        Кто быстрее всех найдет все простые числа от 1 до гугола, тот Эратосфен
                        Ответить
                        • Можно ещё играть в факторизацию чисел. Кто первый разложит число -- тот и Майкрософт.
                          Ответить
                          • К слову, алгоритмы быстрой факторизации в некоторых странах (как минимум в РФ и в США) являются гостайной. К тому, кто быстрее разложит, придёт гэбэшник.
                            Ответить
                            • Тут уже скорее дискретные логарифмы, чем факторизация... А они более сложной задачкой считаются.
                              Ответить
                      • По Ферма или по Миллеру-Рабину?
                        Ответить
                        • По первобытности эллиптических кривых.
                          Ответить
                    • Самая интересная из них — «Напиши свою игру»
                      Ответить
                  • пфф, не надо фантазировать

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

                        мне ещё в 2004-ом году на уши вешали байки про то, что тогдашний баттлфилд на лялихе бегает лучше, чем на винде

                        не, ситуация конечно стала во много раз лучше, но всё же консьюмерская ось богов куда-то не про игры. а, если бы не габен, то вообще бы не про игры была
                        Ответить
                      • Помоему можно завязаться на:
                        * DDraw
                        * Особенности DirectX не портабельные
                        * Асобенности VisualC++

                        не?
                        Ответить
                        • > DDraw
                          > недавно

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

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

                                    Мыло -- это говнопорты с соснолей.
                                    Ответить
                                    • значит, шекели были потрачены на нужное дело
                                      Ответить
                                    • вообще это пиздец

                                      я играю в игры на плойке, а потом смотрю записи этих игр на пк на ютубе и даже там они сука лучше выглядят, чем на этой ёбаной мыловарне
                                      Ответить
                                      • Дык потому что железо у плойки на 10 лет устарело. Ну ок, пока всего на 9.
                                        Ответить
                                    • Я как раз кристал вариорс прохожу
                                      https://i.postimg.cc/vHxM5bsr/image.png
                                      Ответить
                          • А куда 2D переехало?
                            Ответить
                            • В Direct2D.

                              DDraw депрекейтнули чуть ли не в восьмом директе, году так в 2002-м
                              Ответить
                              • Хм, больше похоже на CAD, чем на игор.
                                Ответить
                                • CAD скарее GDI.

                                  Волею судеб я дрочился в основном тока с ddraw
                                  Затем они завезли Direct3D, и 2D стало поверх него
                                  Затем они вывделели Direct2D.

                                  У 3D и 2D чейны адинаковые и работает всё одинаково через те же GPU

                                  Автор драйвера для видеоодаптера реализовывает 3D и GDI драйвер и течет вроде.

                                  GDI для винформ всяких (ну и вообще не полноэкранной модели без геймзалупа, где ты отрисовываеш говно отвечая на события WM)
                                  Ответить
                                  • Ну так, у убийцы DirectDraw я ожидал возможности насрать в фреймбуфер или насрать много в бэкбуфер, а потом флипнуть чтобы говно появилось красиво. А тут нет ничего подобного, только ускоренный вектор.
                                    Ответить
                                    • Swap Chain, IDXGISwapChain1, вот это всё

                                      https://docs.microsoft.com/en-us/archive/msdn-magazine/2013/may/windows-with-c-introducing-direct2d-1-1

                                      всё как ты хотел
                                      https://en.wikipedia.org/wiki/Swap_chain
                                      Ответить
                    • > индюшатина
                      > два или три обиженных пердолика
                      То есть не работает ни у кого.
                      Ответить
                  • Как будто с выходом Age of Acne что-то поменялось.
                    Ответить
      • для начала надо перестать использовать Windows Vista, Инканус.

        тебе сюда
        https://github.com/Kitware/CMake/blob/ab1edff49268df77e1cdcf8074e24e64ef140370/Utilities/cmcurl/CMakeLists.txt#L14

        пересобирабля
        Ответить
        • В семёрке и в восьмёрке такое же говно... Ничем, завязанным на SCHANNEL, пользоваться теперь нельзя. Нужно менять ОС или портировать софт на собственную криптушню (openssl/gnutls).

          Да, надо попробовать пересобратьбля.
          Ответить
          • Ну чувак, ну у тебя TLS 2013-го года, а сейчас 2022-й.

            Ты реально ждешь там диффи-хельмана на эллиптических кривых?

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

            Винда это не прыщи, там много чего прибито гвоздем к ОС. У меня так IKE перестал работать, потому что какой-то RFC (про отказ от фрагментации пакетов вроде) в семерку не успели запихать

            На прыще я бы просто стронгсван обновил, а тут сосать

            Так же и с OpenSSL/SecureChannel
            Ответить
            • Есть эллиптические кривые, но другие:
              TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) WEAK 256
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) WEAK 128
              TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) WEAK 256
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) WEAK 128
              TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) Forward Secrecy 256
              TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) Forward Secrecy 128

              TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024) WEAK 256
              TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023) WEAK 128
              TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) WEAK 256
              TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) WEAK 128

              Жирным выделил самые сильные шифры. Но некоторые сайты их не хотят.
              Ответить
              • нихуясе
                это в семрке такое???
                Ответить
                • https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-7

                  Если, конечно, все апдейты поставил.
                  Ответить
                  • ну, круть! Вот бы они еще для IKE так шифры починили, а то вин7 у меня не могда в PFS, например.

                    Вообще у меня жопа горит от того, что криптоговна по сути три
                    * TLS
                    * SSH
                    * IPSec

                    И так в шифрах черт ногу сломит, а тут еще три сорта говна. Почему не сделать универсально?
                    Ответить
                    • Хочешь узнать ещё один прикол?

                      В центре обновления Windows изменили подпись всех пакетов с sha1 на sha256. И у пакета, который добавляет поддержку sha256 в старые системы, тоже.

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

                      А про другого уробороса (чтобы с сайта openssl.org что-нибудь скачать, нужно уже располагать софтом, поддерживающим самые современные шифры, скачанным в другом месте) ты уже прочитал.
                      Ответить
                      • я лично вручную ставил поддержку ша 256 на в7 чтобы заработало обновление))
                        Ответить
                        • Windows Update — птица гордая. Не пнёшь — не полетит.
                          Ответить
                          • Windows Update — птица феникс. Прибьешь — а он через неделю все равно что-то шерудит.
                            Ответить
                            • Мне ещё служба BITS нравится, которая может забивать процессор на 100% и при этом ничего полезного не делать.
                              Ответить
                              • служба BTS
                                Ответить
                              • так она это делает в фоне, если процессор и так ничем не занят
                                нет?
                                Ответить
                                • Процессор не занят или сеть?
                                  Может, там где-нибудь
                                  while (GetLastMinuteNetworkUsageBytes() > 100)
                                    ; // Sleep(100);
                                  DownloadNextFile();
                                  Ответить
                                  • BITS is mindful of the current network cost and congestion so that a background job interferes as little as possible with the user's foreground experience

                                    Надо читать MSDN, там про БИТС много
                                    Я сним програмно не работал никада, только как пользователь, и видел, что она ест 100%, но как тока запускаешь другой процесс -- сдрискивает.

                                    Там вроде в API можно приоритеты задвать, с других компов качать (бранч кеш) еще какое-то такое же говно

                                    Короче, MS даже файл скачать не может без большого сложного фреймворка с кучей возможнгостей
                                    Ответить
                                    • Ну, может, когда у тебя 100 машин в локалке, а XXI век еще юн и свеж, трафик имеет значение...

                                      ...скачать Гигабайт... ну, теоретически можно...
                                      Ответить
                                      • Траффик имеет значение когда
                                        * У тебя 1000 машин решила обновитьcя, а WSUSа у тебя нет
                                        * Ты мелкий юрик, и у тебя 100 мегабитный канал (потому что 1 гигабитный стоит 251 000 рублей в месяц для юриков в твоем БЦ)
                                        * Твой склад в жопе за вооон тем пригорком, и там единственный провайдер на всю тайгу, и стоит миллион
                                        * Ты живешь в европке, и Интернет у тебя по ADSL
                                        * У тебя вообще нету кабеля, и ты антенну выставил , и fresnel zone у тебя над елками. Или вообще интернет через сотовую сеть с оплатой за мегабайт.
                                        Ответить
                                    • Некоторое прикладное ПО любит нагружать BITS идиотскими задачами. В частности, этим грешит Яндекс. Ну зачем BITS Пунто-свитчеру?

                                      А ещё бывает, что какой-нибудь компонент Windows поставил задачу BITS, а пока эта служба качала, на микрософтовских серверах в очередной раз структура URL поменялась, а редиректа со старых URL на новые нет, так что кругом 404.
                                      Ответить
                                      • Зачем тебе путо-свичер в 2022 году? Поставь лучше кейрус.
                                        Ответить
                                        • >кей
                                          ки!
                                          ки! кирус же!

                                          keyrus.com от Димы Гуртяка. Сейчас это оркостан, кстати
                                          Ответить
                                          • В 1986-м году вышел MS-DOS 3.3 с командами KEYB и MODE.

                                            В 1989-м вышел KEYRUS.

                                            В 1993-м вышел шестой DOS. В нём cp 866 уже была.

                                            Когда появилась поддержка страницы 866 и русской раскладки в DOS из коробки, точно не знаю, но явно между 1986 и 1993.

                                            В организациях, использовавших DOS, почему-то ставили KEYRUS и прочие нестандартные русификаторы (например, крошечный RK.COM) вплоть до начала нулевых, когда с DOS стали уходить. Почему, если встроенная поддержка страницы 866 и русской раскладки средствами MODE и KEYB уже была?
                                            Ответить
                                            • Потому что во-первых ctrl+shift приятнее чем alt+shift
                                              Во-вторых потому что загрузка MSного драйвера через config.sys отъедала
                                              половину conventional memory, а ее и так было совсем недохуя (всем хватит 640 ага)

                                              >точно не знаю
                                              ты не читал что ли эпическое
                                              http://rdos401.org/
                                              ???
                                              читать быстро!)
                                              Ответить
                                              • Я, кстати, с помощью QEMM добился того, что DOS вместе со всеми драйверами отъедал от 640 к всего 5 к (всё остальное затолкалось в UMB и в HMA). Причём мне удалось это сделать без стелс-режима, который несовместим с некоторыми программами.

                                                Да, у меня было 635 к для запуска программ.

                                                Просто QEMM мало кто умел настраивать. Обычно используют его процедуру OPTIMIZE, а она косячит. И да, QEMM был пизженный, но кого это заботило...
                                                Ответить
                                                • я чего-то такое делал с EMM386 и himem.sys, но все равно вторые гоблины не запускались, если включены русификатор, мышка и TSR звука (у меня была opti931 в какой-то момент, она в отоичие от нормально SB требовала драйвер)

                                                  Я выключал русификатор, и все работало
                                                  Ответить
                                                  • Интересно.

                                                    Позже я узнал, что ближе к нулевым появилась масса интересного бесплатного ПО, которое может заменить QEMM: какие-то программы умели шаманить с UMB, какие-то — с HMA. Появилась куча программ, шаманящих через временное переключение в защищённый режим. Например, драйвер мыши, умеющий в так называемый cloacking (да, звучит смешно). Или dpms.sys компании Stacker (DOS protected mode services; не путать с пауэр-менеджментом для дисплеев), который драйверам предоставлял API для размещения части данных или кода в памяти защищённого режима. Интересно, что cloacking и DPMS не конфликтовали с dos4gw, с Windows и с прочей питушнёй защищённого режима.
                                                    Ответить
                                                    • Ой, да там было дохуя API
                                                      Я помню DPMI и VCPI тока, в основном конечно серьезный софт старался dos4gw делать
                                                      Ответить
                                                • Был же божественный memmaker
                                                  Ответить
                                              • > http://rdos401.org/
                                                > Белоруссии
                                                Ватно.
                                                Ответить
                                                • там еще и велодержавный наезд на прохохлоу, вполне ожидаемо

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

          https://cmake.org/cmake/help/latest/module/ExternalProject.html#external-project-definition
          Ответить
          • ввоо
            я так как-то и чувствоваол

            собери курлы-курлы с опенссил теперь только
            Ответить
            • Курлы-курлы уже собранный давно есть.

              Да, через DOWNLOAD_COMMAND цепляется и работает.
              Ответить
            • Ещё один подводный камень симейка: он заменяет точку с запятой на пробел в некоторых строках, например, в переменной окружения PATH.

              https://stackoverflow.com/questions/35847655/when-should-i-quote-cmake-variables

              Скрипт, написанный прыщеблядью, не знающей о точках с запятой, приходится переписывать, чтобы он работал под Виндой. Про «-E env» я читал; про функции поиска и замены в строке тоже. Всё равно это говно вылезает.
              Ответить
    • Как же заебал этот go.
      Ощущаю себя хуже пхпшника.
      Ответить
      • Не в тот оффтоп, ну да ладно.
        Ответить
      • Сходи-поработай в вебстудию за еду в вонючем бизнес-центре класса "F" между офисами "гербалайф" и "дешевые билеты в абхазию", и чтобы летом плюс двадцать пять, и зарплата 20 тыщ рублей, и начальником твоим был SMMшник.

        сразу перестанешь сравнивать го с пхп
        Ответить
        • Я работал пхпшником в 3-этажном особняке и получал доллары в конверте, а моим начальником был токсичный блондин уёбищной врешности. И код был чище, чем на го. Так что не пизди.
          Ответить
          • > а моим начальником был токсичный блондин
            а ты считаешь себя them/they?
            Ответить
          • >И код был чище

            да не пзиди

            не бывает чистого кода не пхп. Стопудово у тебя там в одном файле были mysql_real_escape, таг "<B>" и CSS

            не могло быть иначе просто
            Ответить
            • А в govne у меня
              if err != nil {
                  return nil, err
              }

              Чем это лучше?
              Ответить
              • Это просто популярный паттерн. У нас в джаве тоже принято писать много тупого одинакового кода, а в отдельных фреймворках .NET так и подавною.

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

                Но она хотябы есть

                В коко ее под час и вовсе нету
                Ответить
                • > гомосячей
                  > goмосячей
                  FTFY

                  > а в отдельных фреймворках .NET так и подавною
                  По крайней мере, когда определённый паттерн становится слишком популярен, шарпеи его поддержку на уровне языка встраивают.
                  Ответить
                  • Привет, я attached property в WPF
                    https://docs.microsoft.com/en-us/dotnet/desktop/wpf/properties/how-to-register-an-attached-property?view=netdesktop-6.0

                    public class Aquarium : UIElement
                    {
                        // Register an attached dependency property with the specified
                        // property name, property type, owner type, and property metadata.
                        public static readonly DependencyProperty HasFishProperty =
                            DependencyProperty.RegisterAttached(
                              "HasFish",
                              typeof(bool),
                              typeof(Aquarium),
                              new FrameworkPropertyMetadata(defaultValue: false,
                                  flags: FrameworkPropertyMetadataOptions.AffectsRender)
                            );
                    
                        // Declare a get accessor method.
                        public static bool GetHasFish(UIElement target) =>
                            (bool)target.GetValue(HasFishProperty);
                    
                        // Declare a set accessor method.
                        public static void SetHasFish(UIElement target, bool value) =>
                            target.SetValue(HasFishProperty, value);
                    }


                    Хотя безусловно в .NET есть сахар вроде евентов и обычных пропертей. Это конечно дает джаве пососольдо все таки, ну и public вроде не нана писать каждый раз
                    Ответить
            • https://govnokod.ru/27875#comment750326
              Ответить
              • инь, ну обработка ошибок это правда позор го, над ним токмо ленивый не ржет

                Если джаву тут у нас Снаут кажется сказал, что там надо тридцать раз написать "@Override public static void final", то в го надо написать "err != nil"
                Ответить
                • > @Override public static void final

                  <занудство>По идее не скомпилицо с таким набором мудификаторов.</занудство>
                  Ответить
                  • Это гипербола, как "100500".

                    Надо анпсать "public static void" просто
                    Ответить
      • го это пшп со смузи
        Ответить
      • > Ощущаю себя хуже пхпшника

        Думаю все себя ощущают хуже пхпшников.
        Просто не могут признаться в этом даже себе.

        Что пирдолик-крестушок чувствует себя счастливым, часами ожидая пока скомпилируется метушня?
        Или (типа)жопаскриптер, который пока настроит кучи своего говна?
        Ответить
        • Когда мне стукнуло 18 лет, я понял, что я ПХПшник.

          Все мои друзья писали кто на С++, кто на Pascal, а я хотел писать на PHP, и думал: что со мной не так?

          Я долго не мог сказать об этом родителям (отец у меня человек старой закалки, и точно бы не понял), потому я нашел группу анонимных ПХПников в интернете, и мне стало легче...
          Ответить
          • Всё что мог сказать по этой теме, уже сказал тут:

            https://govnokod.ru/26776#comment557862
            Ответить
    • купил себе еще один 3д принтор. На этот раз СЛА.
      Ответить
      • Фотополимерный? Т. е. со светоотверждаемым расходным материалом? И результат выглядит не так коряво, как на принтере с печкой? Но, поди, расходники дорогие?
        Ответить
        • Да, фотополимерник. Расходники по ценам приблизительно сравнялись смола конечно будет стоить дороже, но теперь не так критично, помню раньше за баночку приходилось отдавать около 3-5к рублями. Теперь же 1.5к-2.5к за литр. К примеру в рашке килограм PLA для FDM уже за 1.5к улетает в стратосферу.
          Но фотополимерник я купил ради того чтоб женские бюсты с сиськами печатать. FDM конечно тоже хорош, но очень мелкие детали ему уже физически не подсилам. Но он все так же будет лучше в плане печати технических деталей, так как и пластик гараздо по характеристикам лучше и быстрее.
          Ответить
          • Напечатал уже хуец?
            Ответить
            • Baby rooster ko ko ko ko ko ko
              Baby rooster ko ko ko ko ko ko
              Baby rooster ko ko ko ko ko ko
              ko ko ko!

              Daddy rooster ko ko ko ko ko ko
              Daddy rooster ko ko ko ko ko ko
              Daddy rooster ko ko ko ko ko ko
              ko ko ko!

              Mammy chicken ko ko ko ko ko ko
              Mammy chicken ko ko ko ko ko ko
              Mammy chicken ko ko ko ko ko ko
              ko ko ko!

              Grandba chicken ko ko ko ko ko ko
              Grandba chicken ko ko ko ko ko ko
              Grandba chicken ko ko ko ko ko ko
              ko ko ko!

              Grandpa rooster ko ko ko ko ko ko
              Grandpa rooster ko ko ko ko ko ko
              Grandpa rooster ko ko ko ko ko ko
              ko ko ko!

              Let’s go eat ko ko ko ko ko ko
              Let’s go eat ko ko ko ko ko ko
              Let’s go eat ko ko ko ko ko ko
              ko ko ko!
              Ответить
          • Какой багор )))
            Ответить
        • Похрюкай со мной, кися. Хрук-хрук-хрук!
          Ответить
      • Нахуя?
        Ответить
    • Goвнари, поясните пожалуйста за ref и value типы (или за стек/кучу, если вам так удобнее)

      int однозначно value type, хранится на стеке в случае локальной пельменной, вот это все.
      Тогда что тут происходит
      func foo() *int {
      	a := 1
      	return &a
      }


      На последней строчке a отправился в кучу, и я вернул на него поинтер? А если бы не вернул, он в кучу бы не попал?

      Или я не должен об этом думать?

      Массивы где хранятся? Реально ли на стеке создать массив на 4 гига? Или опять таки не надо про это думать?

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

      Если я напишу
      a := []int{1, 2, 3}

      то создам анонимный массив на куче, и буду с ним работать только через слайс?
      Или я снова не должен думать про массив тут, а должен видеть как-бы динамический массив (типа вектора) а что и как он там хранит -- пофиг?

      Гобляди сначала насрали термины reference и value type, а потом от них открестились?

      Блядь как все сложно, заберите меня обратно в няшную
      Ответить
      • Не знаю. Я просто прочитал первые главы «Go за 3 дня» (точное название не помню) и говнокожу. Иногда смотрю другие коды в репе и что-то оттуда полезное извлекаю.
        Ответить
        • То есть ты пишешь пол года на языке, и не знаешь как в нем памяь устроена?

          Теперь я верю, что Го это ПХП 2022
          Ответить
          • Поэтому я за ПХП
            Ответить
            • Вот уволюсь, встану на биржу труда, и государство меня бесплатно обучит писать на Go
              Ответить
      • > На последней строчке a отправился в кучу, и я вернул на него поинтер?
        Тут вопрос: нахуя развращать адреса ло-калок?

        But the Go compiler is very Intelligent!. It will not allocate the memory on the stack to the local variable of the function. It will allocate this variable on the heap. In the below program, variable lv will have the memory allocated on the heap as Go compiler will perform escape analysis to escape the variable from the local scope.

        Ахуеть, goворящая свинья.
        https://www.geeksforgeeks.org/returning-pointer-from-a-function-in-go/

        При том что они завезли new.
        > Another way to get a pointer is to use the built-in new function:
        > new takes a type as an argument, allocates enough memory to fit a value of that type and returns a pointer to it.
        Ответить
        • >Тут вопрос: нахуя развращать адреса ло-калок?
          не важно. Важно, что в няшке и крестах это убе, а в говне --- ни?

          >smart
          ну как я и думал, я не должен про это думать, и рассматривать "&" как new в ЯЖА
          Ответить
          • А в говне нi. Как я понял там escape анал-изатор понимает что ло-калка может покидать функцию, и потому аллоцирует её на куче.
            А если локалка не покидает скоуп, тогда стековая питушня.
            Но это ничем не лучше Йажи, где всё куча, но Hotspot умеет локалки оставлять на стеке.
            https://wiki.openjdk.org/display/HotSpot/EscapeAnalysis

            Doomаю механизм примерно одинаковый.

            Ну и сделали бы уже как в ЯЖА, без этих ебаных & *.

            Но хотели всех объебать. Чтобы сектанты могли заманивать: «йаже как Сишка».

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

            Указатели вроде есть, а арифметики нет.
            Ответить
            • ну с адресом все так есть разнитца в том, что можно передавать валуйный тип по указателю, тоесть это скорее как C# с его out, чем как йажка

              А разницы между & и new выходит нет?
              ---

              Напоминило историю из первой половины нудлевых, как в ObjC завезли лямбады (блоки кажется назывались) и там они по умолчаню создавались на стеке, и надо было их явно в кучу копировать. А потом не надо стало
              Ответить
              • > А разницы между & и new выходит нет?

                Да хрен его знает, я же не говноед какой.
                Они же говорят что компилер умный, сам где надо положит. Тогда какая разница?

                https://stackoverflow.com/questions/9320862/why-would-i-make-or-new

                new can be used to allocate values such as integers, &int is illegal:
                
                new(Point)
                &Point{}      // OK
                &Point{2, 3}  // Combines allocation and initialization
                
                new(int)
                &int          // Illegal
                
                // Works, but it is less convenient to write than new(int)
                var i int
                &i
                Ответить
                • The main difference between new(T) and &T{} is that the latter explicitly performs a heap allocation. However it should be noted that this is implementation dependent and thus may be subject to change.

                  Строго по Хармсу

                  Две дамы спят, а впрочем нет,
                  не спят они, а впрочем нет,
                  конечно спят
                  Ответить
                • Как известно, Go очень простой язык, его может освоить даже пыхарь.

                  Q: Is there a difference between new() and "regular" allocation?

                  Ответ 1 (48 баллов): No. What they return is the same,


                  Ответ 2 (22 балла): Yes, there is a fundamental difference between the two code fragments.

                  https://stackoverflow.com/questions/13244947/is-there-a-difference-between-new-and-regular-allocation

                  ---

                  Я бы конечно советовал сделать sfc /scannow
                  Ответить
                  • Блять, почему они ссылаются на code fragments (то есть эмпирическое наблюдение как работает код), а не на спеку языка и/или документацию?

                    Всё-таки крестухов можно ругать за многое, но у них хотя бы Стандарт ™ есть.
                    Ответить
                    • ну тут тоже что-то есть
                      https://go.dev/ref/spec
                      просто в это они не могут
                      Ответить
                      • Почитал. Там прямо указан пример когда они отличаются

                        Note that the zero value for a slice or map type is not the same as an initialized but empty value of the same type. Consequently, taking the address of an empty slice or map composite literal does not have the same effect as allocating a new slice or map value with new.

                        p1 := &[]int{} // p1 points to an initialized, empty slice with value []int{} and length 0
                        p2 := new([]int) // p2 points to an uninitialized slice with value nil and length 0
                        Ответить
                        • то есть в перввом случае мы создаем анонимный массив размером ноль, и берем на него указатель

                          во втором случае мы сразу создаем указатель на nil.

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

                            Тут и сказать-то нечего, такой это неочевидный пиздец.

                            И говнюки-то сами сходу ответить не могут. Анскилябры, да.

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

                              C# еще забыл:) Там можно вызвать new у value type, и он (в отличие от крестов) совсем не на куче создастся:)

                              Веселее всего в доклассовом JS: там new просто вызывало функцию, передвая туда неявно новый пустой объект по именем this, и кажется прописывая ей прототайп в эту функцию.

                              А еще new бывает методом класса в ЯИБУ и ObjC (там он далеает alloc + init)

                              По степени всратости всех конечно уделал Perl с его bless, который просто привязывал пакет к хешу, но там функцию, коея это делает, тоже частоназывали "new"

                              PS: ну и конечно напомню, что в JAVA и C# на самом деле "new" -- лишнее слово (да и в современном JS малость тоже).

                              Хорошо, что в питухоне и коко его нет
                              Ответить
                              • > C# еще забыл:) Там можно вызвать new у value type, и он (в отличие от крестов) совсем не на куче создастся:)

                                В C# и PHP new по поведению очень похоже на жову. А она была первой.

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

                                > что в JAVA и C# на самом деле "new" -- лишнее слово (да и в современном JS малость тоже).
                                Ну а как создавать объекты? Рефлексией?

                                Вот в JS оно абсолютно лишнее. Объект из заданного прототипа можно сделать и через Object.create()
                                Ответить
                                • А в бейсике NEW вообще удаляет текущую программу из памяти.
                                  Ответить
                                  • Емнип NEW/OLD/RUN это были команды ОС.
                                    Они принимали имя программы или строку с которой нужно начинать выполнение.
                                    Ответить
                                    • Это были команды интерпретатора, которые можно было использовать в интерактивном режиме и нельзя было использовать в программе.

                                      Да, чисто визуально выглядит, как ОС над интерпретатором, но это не ОС, это сам интерпретатор.

                                      Интерпретатор Бейсика разрабатывали с учётом того, что на машине могло не быть текстового редактора. Именно поэтому была команда LIST и номера строк. Если строка, передаваемая интерактивному режиму, начиналась с номера строки, интерпретатор добавлял или заменял строку с таким номером в программе.
                                      Ответить
                                    • P.S. Имя программы принимали команды LOAD и SAVE. В ОЗУ можно было держать только одну программу.

                                      NEW тупо обнуляла программу, а RUN запускала.

                                      Кое-где можно было вызвать RUN с аргументом — с номером строки, на который сделать GOTO перед запуском.
                                      Ответить
                                      • Хрюкни, свинособака!
                                        Ответить
                                      • > Кое-где можно было вызвать RUN с аргументом — с номером строки, на который сделать GOTO перед запуском.

                                        В смысле? А разве где-то было нельзя??
                                        Ответить
                                    • ну не ОС, а монитора так сказать
                                      А там был бейсик

                                      У многих компов 80х (включая и классическеий ПиСи) в прошивке был бейсик
                                      Ответить
                                      • Так точно!

                                        Потом у IBM PC из прошивки «Бейсик» удалили. Если же по старой памяти его вызвать (через INT 25H или как-то так, уже точно не помню), выведется строка «ROM Basic not found».

                                        Бейсик был в прошивках бытовых компьютеров: БК-0010, Спектрума и т. п. У некоторых даже на клавиатуре были горячие клавиши для ввода команд Бейсика одним нажатием.

                                        А вот у «Агата-7» был монитор без Бейсика. Его монитор позволял вводить только машинные коды. Как сейчас помню: C300G означало перейти по адресу C300 (hex), по которому в прошивке лежит подпрограмма загрузки с первого дисковода.
                                        Ответить
                                        • Кися, признайся, дефекатэ плюс-плюс ведь твоя файка?

                                          Давай, повергни всех в шок своим признанием.
                                          Ответить
                                      • > У многих компов 80х (включая и классическеий ПиСи) в прошивке был бейсик

                                        В первых униксах для DEC-11 чуть-ли не единственным скриптовым языком был не какой-нибудь питон или awk, а именно бейсик.

                                        Правда его больше как куркулятор юзали.

                                        Впрочем сейчас питон так и используют.
                                        Ответить
                                      • На самом деле немногих. Я в бытность изучения трубоассеблера писал прожку, которая пробает йохохо страницу рома и если не заглушка, то джамп. Ни у кого не работало.
                                        Но конечно же это пристрастие к васику унаследовали от пэка на 8080.
                                        Ответить
                                  • Потом они спрашивают, почему я за «Бейсик». Да вот хотя бы поэтому.
                                    Ответить
                                • C# похож, но там есть value types.
                                  угадай, где создаста юзер
                                  struct User{}
                                  ///
                                  var user = new User();


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

                                  В крестах есть placement new, ты можешь объект хоть в memory mapped файле создать, вот тока зачем?


                                  >Ну а как создавать объекты? Рефлексией?
                                  Убрать слово new, и все: как в питоне и котлине.

                                  Почему не песать так
                                  var user = User();

                                  а еще лучше так
                                  User user{};
                                  Ответить
                                  • > Почему не песать так
                                    > var user = User();

                                    Потому что это вызов функции, а не конструкция объекта

                                    > а еще лучше так
                                    > User user{};

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


                                      Почему? Почему не может быть это созданием объекта?
                                      Почему Котлин и Питон обошлись без ненужного слова "new"?

                                      "new" имеет смысл только в С++. В остальных языках тупые обезъяны завезли ненужный хлам чтобы другие обезъяны потом его использовали.

                                      Это как писать "foo->bar()" вместо "foo.bar" в пыхе.

                                      сук, даже в С++ у референсов не надо эту хуйню писать
                                      Ответить
                                  • Йажисты шли по стопам крестов.
                                    Это легаси. А вот шарпеи (уворовавшие Йажу) и пхпшники могли бы уже и подумать.

                                    > Убрать слово new, и все: как в питоне и котлине.
                                    > Почему не песать так
                                    > var user = User();
                                    Неоднозначность. Сразу непонятно функция это или конь-структор.

                                    >а еще лучше так
                                    >User user{};
                                    Крестопидорство.

                                    Да я ж не против "заменить". Речь о том что в JS его вообще безболезненно можно убрать.

                                    Кстати, волшебная искра Сишки все-таки осталась в Йаже.
                                    int[] x = {1,2,3};

                                    Так тоже можно
                                    int[] x = new int[]{1,2,3};

                                    Но зачем?
                                    Ответить
                                    • >Неоднозначность. Сразу непонятно функция это или конь-структор.


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

                                      Альсо, в ЙАЖА обычно метолы камиль кейсовые же, это в шарпе они с большой буквы
                                      Ответить
                                      • Мне тоже new не нравится. Просто предлагаемая питушня не вписывается в общую тенденцию йажи.
                                        Так например они не додумались (не захотели) вызывать лямбды как func().

                                        На каждый интерфейс почему-то нужно писать func.call() / func.run() / func.execute() / func.accept(t) итд. По мне это уебанство, если мы заведомо знаем что у интерфейса один метод. Но решили вот так.

                                        Лучше бы метод был User.new()
                                        Ответить
                                        • > Лучше бы метод был User.new()

                                          Та это же дельфячьи конструкторы же!
                                          Ответить
                                          • У нас в Ruby это так и пишется

                                            petuh = Petuh.new
                                            Ответить
                                            • > У нас в Ruby это так и пишется
                                              > petuh = Petuh.new

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

                                                  «Вот и выросло поколение, не знающее Паскаля.»
                                                  Ответить
                                                  • Я видел на соседнем мониторе, как запускают лазарус. Но я же не ослоёб, я выбрал C++ + OpenGL.
                                                    Ответить
                                                    • трупо паскаль семь ноль -- священный язык моего децтва, попрошу не касаться его грязными осетинскими руками
                                                      Ответить
                                                  • Я тоже не понимаю нахрюков на «Дельфи».

                                                    Язык «Object Pascal» вполне годный. А то, что ламеры наформошлёпили говнософта с TForm1, так это не проблема языка, а его популярности. Сейчас то же самое с другими языками происходит.
                                                    Ответить
                                              • > в Дельфях
                                                В Паскакале, это Вирт придумал, чтобы скобки нужны были только когда есть аргументы. А позже какие-то дрочилы зачем-то учудили ставить пустые скобки в Functiya1Call()
                                                Ответить
                                                • В процедурном/визуальном бейсике тоже можно было Sub без аргументов писать без скобок.
                                                  Ответить
                                                  • А в «Фортране» так можно?
                                                    Ответить
                                                  • В бейсике Sub и с аргументами можно вызывать без скобок. Но в выражениях конечно нужны.
                                                    Ответить
                                                • > А позже какие-то дрочилы зачем-то учудили ставить пустые скобки в Functiya1Call()
                                                  ... придумали first-class functions и понадобилось отличать функцию от её вызова.
                                                  Ответить
                                                  • Не всё так просто

                                                    > придумали first-class functions
                                                    Всегда были.

                                                    > отличать функцию от её вывоза
                                                    Оно само отличает. Разве что чисто визуально отличать от чего-то непонятно чего ещё. Хрень, короче.
                                                    Ответить
                                                  • > понадобилось отличать функцию от её вызова.

                                                    В Бейсике (еще со времён Быстрого) M$ для этого предусмотрел ключевое слово Call.
                                                    Ответить
                                                    • У яибу был смешной бугор от этого.

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

                                                      А как передать туда метод?

                                                      Я не могу скзаать ``foo.bar``, потому что это вызов метода!

                                                      Для этого они пишут ``foo.method(:bar)``
                                                      https://docs.ruby-lang.org/en/2.4.0/Object.html#method-i-method
                                                      Ответить
                                                      • В компиляторе VB6 внутри ресурсов была мелодия в миди. Послушайте эту мелодию.
                                                        Ответить
                                                  • В диалектах Паскаля для этого используют оператор @ (у Фрипаскаля синтаксис чуть-чуть отличается от Дельфи и ТП, но суть та же).
                                                    Ответить
                                                    • @ пишут, чтобы ошибки не было

                                                      Зачем пердолиться с указявками, когда есть божественный процедурный тип?
                                                      Ответить
                                          • > Та это же дельфячьи конструкторы же!

                                            Так точно! В них есть возможность произвольно выбирать название конструирующего метода.
                                            Ответить
                          • > во втором случае мы сразу создаем указатель на nil.

                            > Ну вот скажи мне, это типа просто и понятно? Куда проще, чем в сложной сишке, да?

                            Не знаю. Может паскалистам зайдёт.
                            Для них это более-менее привычный синтаксис.
                            new (type) — аллоцирует место под тип. Но в отличие от говна по указателю будет мусор.
                            Dispose(p) — освобождает.

                            А инициализация идёт отдельной процедурой.

                            Но опять же, зачем говнюки засрали логическое И?
                            Ответить
                • В общем я почитав.

                  Go делает статический escape analysis прямо по AST в момент компиляции, и если запустить его с -l (отключив инлайнинг) и -m, то можно увидеть, как он работает.


                  func foo() []int {
                  	a := []int{1, 2, 3} //онамный моссив и указатель на него
                  	return a // в этом месте все поехало в хип
                  }
                  
                  func main() {
                  	print(foo())
                  }


                  C:\temp\myGoPro>go build -gcflags="-m -l"  main.go
                  # command-line-arguments
                  .\main.go:4:12: []int{...} escapes to heap


                  А теперь давайте избавимся от хипа
                  package main
                  
                  func foo(a *[3]int) {
                  	a[0] = 1
                  	a[1] = 2
                  	a[2] = 3 //имеется ввиду (*a)[2], но он сам разысменует, а -> тут нет
                  
                  }
                  
                  func main() {
                  	a := [3]int{}
                  	foo(&a)
                  
                  	print(a[1])
                  }
                  # command-line-arguments
                  .\main.go:3:10: a does not escape


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

                    Но анализ говорит
                    .\main.go:13:12: new(DeKip) does not escape

                    И код получется одинаковый
                    TEXT    "".kook(SB), NOSPLIT|ABIInternal, $0-0
                            FUNCDATA        $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
                            FUNCDATA        $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
                            XORL    AX, AX
                            RET
                    
                    // и вторая 
                            TEXT    "".koko2(SB), NOSPLIT|ABIInternal, $0-0
                            FUNCDATA        $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
                            FUNCDATA        $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
                            XORL    AX, AX
                            RET


                    Возможен и обратный случай (опять таки -- оба варианта идентчины)
                    func kook() *DeKip {
                    	kip := DeKip{}
                    	return &kip
                    }
                    
                    func koko2() *DeKip {
                    	kip := new(DeKip)
                    	return kip
                    }
                    .\main.go:8:2: moved to heap: kip
                    .\main.go:13:12: new(DeKip) escapes to heap


                    Забавно, что перекладывание локальной переменной на кучу он назвал "moved to хип", а отказ от перекладывания из кучи обратно так и назвал "escapes to heap" (бо она там изначально и была).

                    Так что можно похоже думать так: Я все создаю как в сишке, просто потом приходит злой дядя, и прекладывает что-то из стека в кучу или обратно в тайне не от меня
                    Ответить
                    • > .\main.go:13:12: new(DeKip) escapes to heap

                      Меня это тоже смутило. Я даже подвис на минуту.

                      Как new может совершать побег на кучу.

                      Из этого сообщения я понимаю, что goвно вообще срало на эти new.
                      Оно по возможности аллоцирует всё на стеке. А дальше как escape analisys решит.
                      Ответить
                      • Сначала приходит анализ, и решает что где аллоциорровать, а потом герерируется их говноасембелр

                        Код -> AST -> Анализ -> Асемблер

                        type DeKip struct {
                        	koko int
                        }
                        
                        func koko2() DeKip {
                        	kip := new(DeKip) // Я говорю: хочу кучу
                        	return *kip
                        }
                        func main() {
                        	println(koko2().koko)
                        }


                        Но мне говорят
                        .\main.go:8:12: new(DeKip) does not escape


                        и эффективно заменяют на
                        func koko2() DeKip {
                        	kip :=  DeKip{}
                        	return kip
                        }


                        При этом если питух достаточно жирен, то ситуация обратная
                        type DeKip struct {
                        	koko [4096 * 4096]int
                        }
                        
                        func koko2() DeKip {
                        	kip := new(DeKip)
                        	return *kip
                        }

                        .\main.go:8:12: new(DeKip) escapes to heap

                        И даже
                        func koko2() DeKip {
                        	kip := DeKip{}
                        	return kip
                        }

                        .\main.go:8:2: moved to heap: kip (и меня не спросил)

                        Короче, пиши как хочешь, твои желания компилятору насраны
                        Ответить
                      • Escape / не Escape говорят о том, что ты как-бы изначально попросил положить в кучу

                        moved о том, что ты как-бы попросил на стек положить, а его мувнули в кучу

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

                          > и там можно будет руками оптимизнуть

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

                    В Турбо Паскале сделали так: вызывающий блок резервирует место в стеке под возвращаемый массив и передаёт в функцию последним аргументом (который на уровне языка не видно) указатель на это место, чтобы функция знала, куда класть результат. Недостаток: нужно заранее знать размер массива.

                    function foo:array[0..2] of integer;

                    Тут вызываемый код перед передачей аргументов сделает sub sp, 3*sizeof(integer), потом передаст аргументы функции, потом запушит указатель на выделенный блок, и только потом сделает call.

                    В Go вот решили ничего заранее не аллоцировать и ничего лишнего не передавать, пусть аллоцирует функция и вернёт результат.

                    Какие ещё варианты? В стек внутри функции мы срать не можем, функция его должна вернуть в первозданном виде. Глобалки — не вариант.
                    Ответить
                    • Ты удивишься, но в регистр для возврата много чего не лезет.
                      Сишка не умеет вернуть массив per-se, но может вернуть структуру, которрая тоже в регистр не влазит.

                      И у нее сделано точно так же: вызывающая сторона создает место на стеке, и передает указатель в вызываемую функцию, дескать "срать ВОТ СЮДА".


                      В Go можно вернуть массив, а можно положить его в кучу, и вернуть указатель (ну как и в сишке).

                      func createArray() [2]int {
                      	return [...]int{1, 42}
                      }
                      func main() {
                      	ar := createArray()
                      	println(ar[0], ar[1])
                      }

                      тут все честно, вернули массив копированием.

                      А тут серанули его в кучу
                      func createArray() *[2]int {
                      	return &[...]int{1, 42} //думайте об этом как о smart pointerах, что ли
                      }
                      func main() {
                      	ar := createArray()
                      	println(ar[0], ar[1])
                      }

                      Разумеется, получили
                      .\main.go:4:9: &[2]int{...} escapes to heap


                      Более идеоматичный способ
                      func createArray() []int {
                      	return []int{1, 42}
                      }

                      .\main.go:4:14: []int{...} escapes to heap

                      скобочки-инт это слайс, указатель на массив. Тут мы создаем где-то-в-куче массив, и возвращаем на него указатель
                      Ответить
                      • А вот еще забавное
                        const size = 4096
                        
                        func createAndCopy() [size]int {
                        	arr := [size]int{}
                        	for i := range arr {
                        		arr[i] = 42
                        	}
                        	return arr
                        }
                        func main() {
                        	arr := createAndCopy()
                        	for i := range arr {
                        		println(i)
                        	}
                        }


                        мы честно вернули массив. Но если size у нас 4096 * 4096, то стек может и порваться на нацистский крест, и тогда...
                        .\main.go:6:2: moved to heap: arr
                        .\main.go:13:2: moved to heap: arr

                        воу

                        Так что можно типа даже и о перформансе как-бы не думать, оно само все сделает
                        Ответить
                        • борманд а ты этот тредик про анализ побегов в говне видел
                          ?
                          Ответить
                    • Так увидит что escapes и тупо насрёт в кучу, gовно.
                      Ответить
                    • > Разврат массивов во всех ЯП реализуется трюками.
                      > Какие ещё варианты? В стек внутри функции мы срать не можем, функция его должна вернуть в первозданном виде.

                      Именно поэтому я за С++

                      #include <array>
                      #include <stdio.h>
                      
                      std::array<char, 4> retArray() 
                      {
                           return {11, 22, 33, 44}; 
                      }
                      
                      int main(void){
                          std::array<char, 4> x = retArray();
                          printf("%d",x[2]);
                      }
                      
                      retArray():
                              movl    $740365835, %eax
                              ret

                      https://godbolt.org/z/8E8q5h8vf

                      Массив побольше и тут С++ справился
                      https://godbolt.org/z/ffdEz66je
                      Ответить
                      • ну он повел себя ровно так, как повел бы себя для структуры

                        для мелкого array тупо пхнул его в регистр, для крупного -- вызывающая сторона подготовила место на стеке, а вызываемая туда пхнула массив

                        std:array приятная штука, лечит одну из травм няшной

                        А вот скажите, кроме Go и std::array где еще массив передается по значению? Сходу помню превращение перломассива в лист, но это не совсем то
                        Ответить
                        • Думаю rust какой-нибудь вполне может.

                          D наверное тоже. Там массивы очень приятные.


                          > std:array приятная штука, лечит одну из травм няшной

                          С этим она стала ещё приятней. Теперь не надо ручками размеры высчитывать.
                          https://en.cppreference.com/w/cpp/container/array/deduction_guides
                          Ответить
                    • > Разврат массивов во всех ЯП реализуется трюками.

                      Сишка.
                      #include <stdio.h>
                      typedef struct
                      {
                         int arr[16];
                      }  Arr;
                      Arr retArr(a,b,c){
                          return (Arr) {11, 22, 33, 44,55,66,77,88,1,1,1,1,1,a,b,c}; 
                      }
                      
                      int main(void) 
                      {
                          printf("%d\n", retArr(1,2,3).arr[4]);	
                          return 0;
                      }
                      
                      https://godbolt.org/z/3f5zbMT98


                      Видим что делает старый шланг на -O1
                      main:                                   # @main
                              sub     rsp, 72
                              lea     rdi, [rsp + 8]
                              mov     esi, 1
                              mov     edx, 2
                              mov     ecx, 3
                              call    retArr
                      Ответить
                      • sub rsp, 72 резервирует место под разврат.

                        lea rdi, ... — это как раз передача (n+1)-м аргументом указателя на выделенный кусок.
                        Ответить
                  • func foo(b int) []int {
                        if b==2 {
                            a := []int{1, 2, 3} 
                            return a 
                        }
                        return nil
                    }
                    
                    func main() {
                    	print(foo(3))
                    }
                    
                    $ go build -gcflags="-m -l"  1.go
                    ./1.go:5:19: []int literal escapes to heap

                    Какое тупое говно )))
                    Ответить
              • > А разницы между & и new выходит нет?

                Ахаха, говнюки сами путаются. Как клоуны с РНР.RU, ей богу.
                https://stackoverflow.com/a/9321658

                Ну получается ГОндоны на ровном месте запарашили оператор логического И.
                Ответить
                • блядь как можно было так муторно и запутнно сделать такую базовую вещь?


                  Ей богу, мне С++ проще понять было
                  Ответить
                  • В эзотерическом ЯП «INTERCAL» есть ключевое слово «PLEASE», которое ничего не делает, но его необходимо вставлять через каждые несколько строк.

                    Если ты слово «PLEASE» употребляешь редко или вообще не употребляешь, транслятор падает с ошибкой E079 «Программист недостаточно вежлив». Если же наоборот, частишь, то транслятор упадёт с ошибкой E099 «Программист слишком вежлив».

                    «Правильная» частота слова «PLEASE», не документирована. Её нужно подобрать при отладке.

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

                      > компилятор может упасть с сообщением «Случайная ошибка компилятора», которая при следующем запуске не воспроизведётся.

                      Гейзенбаги и в обычных язычках нередкое явление. Особенно с тех пор как все начали угорать по многопоточности.
                      Ответить
                    • В принципе PLEASE в многопитульных программах принято заменять на yield/sched_yield

                      Если ты слово «YIELD» употребляешь редко или вообще не употребляешь, процесс виснет с ошибкой «Uninterruptible Sleep State». Если же наоборот, частишь, то процесс тормозит .

                      «Правильная» частота слова «YIELD», не документирована. Её нужно подобрать при отладке.

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

                      “under a complex set of internal timing conditions and system events, software using the Intel TSX (Transactional Synchronization Extensions) instructions may result in unpredictable system behavior.”
                      Ответить
                      • Напоминает синхронизацию кода посредством Thread.sleep
                        Ответить
                        • Потому что это одна и та же техника.
                          Thread.sleep(0) зачастую эквивалентен Thread.yield()
                          OpenJDK source (Java SE 7) have the following implementation for Thread.sleep(0) in JVM_Sleep function of jvm.cpp:
                          
                            if (millis == 0) {
                              // When ConvertSleepToYield is on, this matches the classic VM implementation of
                              // JVM_Sleep. Critical for similar threading behaviour (Win32)
                              // It appears that in certain GUI contexts, it may be beneficial to do a short sleep
                              // for SOLARIS
                              if (ConvertSleepToYield) {
                                os::yield();
                              } else {
                                ThreadState old_state = thread->osthread()->get_state();
                                thread->osthread()->set_state(SLEEPING);
                                os::sleep(thread, MinSleepInterval, false);
                                thread->osthread()->set_state(old_state);
                              }
                            }
                          Ответить
                          • ну тут надо смотреть как шедулер осей смтоирт на сискол sleep, но скорее всего это такой способ сказать шедушелу "я кончил, давай следующево питуха запускай"
                            Ответить
    • https://twitter.com/Perpetualmaniac/status/1541315869820608512
      Ответить
      • Пиздец, даже создателей бивиса и баттхеда заебало левацкое говно
        Ответить
    • Доброго дня, хотите научиться зашибать деньгу деньги? Тогда моя
      методика для вас, вы будете в шоке, как все легко и просто. С
      уважением, Дина. Ваша ссылка:
      https://docs.google
      Ответить
    • Здравствуйте, приглашаем вас принять участие в конкурсе на вакансию:
      «Начальник отдела креативного планирования». Все что нужно заполнить
      типовое резюме. Менеджер по персоналу, Агата. Ваша ссылка:
      https://docs.goo
      Ответить
    • Здравствуйте, вам надоел постоянно пустой кошелек, тогда я помогу вам
      зашибать деньгу больше. Мой метод заработка прост, и с ним справится
      любой, просто следуйте инструкциям. С уважением, Марфа. Тут
      подробности: https://do
      Ответить
      • До-до-до-до, пчела летела,
        До-до-до-до, издалека,
        До-до-до-до, и долетела,
        До-до-до-до, до цветка.
        Ответить
    • Русский программист переехал в Нидерланды, языка не знает почти, говорит в баре:
      Ik wil beer alsjeblieft
      (шутка распостраняется по лицензии BSD)
      Ответить
      • Кажется, понял: beer — bier.
        В немецом похоже: Bär — Bier. А вот Beerе будет означать ягоду (не наркома, а фрукт).

        А если вспомнить, как эти три слова звучат и пишутся в английском, совсем запутаешься.
        Ответить
        • да) потому и программист русский

          >ягоду
          ну да, berry у англичан
          Ответить
          • Такая клюква получилась, нарочно не придумаешь.
            Ответить
          • https://store.steampowered.com/app/1129220/BEARS_VODKA_BALALAIKA/
            Ответить
            • https://www.youtube.com/watch?v=mgUdwsQyY_s
              Ответить
              • Одно время у нас в продаже были китайские хардварные тетрисы, которые играли «Ой, полным-полна моя коробушка, есть и ситец, и парча».
                Ответить
                • Я в 90-е тёк от Брикгейм, разумеестя
                  Их было так много, и в каждой 999999 игр (на самом деле две)

                  Где-то были гонки, где-то галакшн, тесты разные, змейки, справа рисовались фрукты, а еще я видел брикгейм в виде дельфина, который что-то на китайском пищал
                  Ответить
                  • На некоторых ещё танчики были.

                    > на самом деле две
                    Четыре. На некоторых больше.
                    Ответить
            • Rabotiagi games
              Ответить
    • Го за последние пять лет стал чуть менее обосснаым
      * появилсь модули
      * появились генерики

      Очень нехватает функциональщины: код длинная, скучная императивная портянка.

      Бабла за него платят дохуя
      https://www.octoparse.com/blog/15-highest-paying-programming-languages-in-2017

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

      На вкус примерно как смесь питона и пятой джавы, но с указателями
      Ответить
      • Кстати спасимбо Го за отсутствие пидорастическово термина "class".
        Ответить
      • > На вкус примерно как смесь питона и пятой джавы, но с указателями

        Хуже. В питоне и джаве хотя бы исключения были.

        Но это конечно отборное говноедство (во всех смыслах), хвастаться наличием женериков в 2к22

        15 March 2022

        Go 1.18 is a massive release that includes new features, performance improvements, and our biggest change ever to the language. It isn’t a stretch to say that the design for parts of Go 1.18 started over a decade ago when we first released Go.
        Generics

        In Go 1.18, we’re introducing new support for generic code using parameterized types.
        Ответить
    • Республика Бурятия, Баргузинский р-н, пос. городского типа Усть-Баргузин

      Разнорабочий без опыта на стройку вахтой
      60 000 — 90 000

      Приглашаем РАБОЧИХ СТРОИТЕЛЬНЫХ СПЕЦИАЛЬНОСТЕЙ на работу вахтовым методом на крупных промышленных стройках по всей территории РФ

      Опыт работы не требуется, мы всему бесплатно научим
      Прямой работодатель

      УСЛОВИЯ:
      • Белая заработная плата от 60 000 до 90 000 р./мес.;
      • Повышение ставки со второй вахты.
      • Срок вахты 60/80 смен. По желанию, вахту можно продлять.
      • Оформление по ТК РФ с 1-го дня работы;
      • Своевременные выплаты 2 раза в месяц, на карту банка;
      • Карьерный рост

      ПРЕДОСТАВЛЯЕМ:
      • Проживание;
      • Питание или суточные;
      • Спецодежду и инструмент;
      • Обучение и медицинскую комиссию;

      ТРЕБОВАНИЯ:
      • Желание работать и зарабатывать;
      • Отсутствие противопоказаний по здоровью

      ОБЯЗАННОСТИ:
      • Соблюдение трудового распорядка
      Ответить
    • Goвноеды, верно ли я понимаю, что в Го настолько ненавидят ООП, что оно там выглядит так
      package user
      
      type Id = int8
      
      var currentId Id
      
      type User interface {
      	Id() Id
      	Name() string
      }
      
      type user struct {
      	id   int8
      	name string
      }
      
      func (user user) Id() Id {
      	return user.id
      }
      func (user user) Name() string {
      	return user.name
      }
      
      func New(name string) User {
      	currentId++
      	return user{name: name, id: currentId}
      }

      ?

      Я так-то не против (пошло оно в пизду это ваше ООП) но как-то это необычно
      Ответить
      • Фу блять
        Ответить
        • Фу - ПО управления российскими фляжными беспилотниками - под винду. Вот что "фу". Кунг-фунг, былять.
          Ответить
    • https://vk.com/wall-154906069_1275028
      Ответить
    • https://habr.com/ru/post/656937/

      Ебать мой хуй.
      Вышла Java 18. Последний раз я видел новость «Вышла Java 7».
      Ответить
      • ну, пока айжей командовал sun, политика была такая: Выпускать новую версию языка не чаще, чем раз в десять лет, и в каждой новой версии добавлять не более ноля полезных фич.

        На фоне этого уныния и родился Коко

        А потом йажу купил Оракл, и всё заверте
        Ответить
        • > пока айжей командовал sun, политика была такая: Выпускать новую версию языка не чаще, чем раз в десять лет и...

          ... не ломать обратную совместимость.

          > А потом йажу купил Оракл, и...

          > The method covered in other answers that employs ((DirectBuffer) byteBuffer).cleaner().clean() doesn't work on JDK 9+ (even in reflective form) without displaying an An illegal reflective access operation has occurred warning.
          > This will stop working altogether in some future JDK version.
          https://govnokod.ru/28254#comment779032
          Ответить
          • >... не ломать обратную совместимость.

            именно по этому я за "Perl 5"
            Ответить
    • Почему нельзя сделать нормальный язык
      * без ГЦ
      * со строгой статической структурной типизацией из коробки
      * с нормальной модульной системой
      * с пакетным медженером
      * со строгим кодстайлом
      * со встроенным тест фреймворком
      * с API для профилировки и дебага
      * с хорошим интеропом с си
      * с хорошей поддержкой функционального программирования
      * с иммутабельностью всего по умолчанию
      * чтобы прикольная зверушка была на логотипе
      ?
      Ответить
      • Потому что
        Ответить
        • Потому что нельзя
          Потому что нельзя
          Потому что нельзя

          Потому
          что
          нельзя
          Ответить
      • > чтобы прикольная зверушка была на логотипе

        да ты накрепко охуел со своими запросами!

        в кристале кстати вроде можно без гц писать

        > со встроенным тест фреймворком

        а вот это сразу нахуй, что я должен делать, если он хуевый и меня не устраивает?
        Ответить
        • >, что я должен делать, если он хуевый и меня не устраивает?

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

          как руби, но стат типизацией

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

                Забавный пример ложного утверждения.
                Ответить
                • ну я же поправил:
                  >после перла конечно
                  Ответить
      • И чтобы ГОМОИКОНЫ
        Ответить
      • Так это же почти по всем пунктам «Ржавый».
        Ответить
        • Не хватает зверушки
          Ответить
        • там говоря борроу чекер живет, и хвостик отгрызет

          или правда попроболвать?
          Ответить
          • В требованиях же не была указана "высокая скорость конпеляции".

            Так что попроболвать стоит.

            Чтобы уже обсирать рустню на ГК со знанием дела. А не анскильными набросами, как это делал я.
            Ответить
            • Ванючая рустня, аххаха
              Ответить
              • rustoeb.txt
                Ответить
                • Всё дело в том, что так называемый "PHP" есть язык-пидар, язык-говно, язык-гнида, язык-мразь, язык-хуесос, смерть вонючей пыхне
                  Ответить
          • Бороду отгрызет.
            Ответить
        • Блин, а действительно так.
          Ответить
    • https://vk.com/wall-152111071_48130
      Ответить
      • Жаба, нет? А то после "ни кто не забыт" я уже ни чему не удивляюсь.

        Нужно поменять местами "семья" и "айти".
        Ответить
    • > https://openjdk.org/jeps/8261529
      > JEP draft: Universal Generics (Preview)
      > Unify the treatment of reference and primitive types in generic code by allowing Java type variables to range over both kinds of types. Produce new warnings to maintain the safety guarantees of generic code.

      Неужели джава наконец-то решила родить нормальную платформу?

      > Generic classes and methods will continue to be implemented via erasure, replacing type variables with their erased bounds in generated bytecode. Within generic APIs, primitive objects will therefore generally be operated on as references.

      А нет, не решила.

      > The new warnings will be highly visible, and they will need to be understood and appreciated—not ignored—for them to have their desired effect.

      Good luck with that!
      Ответить
      • ну это как в кококо будет, когда пишется одинаково
        или будет автобоксинг как в C#
        а ArrayList<Byte> Все равно будет антицарский
        Ответить
        • в том и дело что в шарпе нет автобоксинга для дженериков

          https://tinyurl.com/2p988s6c

          емнип джит у тебя будет компилировать одну общую версию для ref-типов и по оьтдельной для каждого валью-тайпа, совсем как шаблоны

          автобоксинг в 99% случаев бывает только когда ты валью-тайп к интерфейсу приводишь
          Ответить
          • Шарп создавался, когда на примере жабы стало ясно, что автобоксинг валью типов — хуйня полная. Поэтому там всё лучше.
            Ответить
            • А кто-то когда-то сомневался, что JAWA - говно анскильное?
              Ответить
              • Я сомневался.

                JAWA работает на трёх миллиардах устройств. Разве могут миллиарды мух ошибаться?
                Ответить
              • C++сер пришел в джаву, и слышит: "теперь тебе будет проще писать код, язык более современный, и более высокоуровневый"

                C++ер говорит: хорошо, как мне сделать вектор интов?
                А ему говорят: поставь стороннюю библиотеку
                C++ер поставил, и говорит: а как мне передать массив по значению?
                А ему говорят: а ты его передай по указателю, а на принимающей стороне скопируй
                С++ер передал, и говорит: а как мне сделать указатель на const, чтобы мне на той стороне его не засрали?
                А ему говорят: а ты сделай специальный интерфейс, и реализуй там нужные методы
                С++ер говорит: а вот у меня тут структура из двух полей byte, как мне ее на стек положить, и везде копировать?
                А ему говорят: ну ты сделай int, и маской из него вычленяй байты. Ну или сделай финальный класс, и надейся на JIT
                С++ер говорит: ну ладно, бляди, а я вот файл открыл в конструкторе. Как мне его закрыть, когда объект удалится?
                А ему говорят: а ты реализуй интерфейс Closable, оберни создание объекта в try, и..

                Тут С++сер встал, и вышел из комнаты. А ему в догонку доносилось: "Кстати, если захочешь использовать mmapнутые файлы, то тебе понадобится рефлексия, причем в зависимости от версии JVM -- рааазнааая..."
                Ответить
                • > С++ер говорит: а вот у меня тут структура из двух полей byte, как мне ее на стек положить, и везде копировать?

                  Это уже всё детали говнореализации. Даже в крестопараше нет никаких гарантий с т.з. стандарта, что некоторое говно, объявленное как локальная переменная, будет у тебя всенепременно аллоцироваться в каком-то там стеке. Стандарт не оговаривает, что есть какой-то там стек вообще, т.е. локальные переменные у какого-то там говнокомпилятора теоретически вполне могут храниться в односвязном списке в куче и очищаться по выходу из скоупа
                  Ответить
                  • У меня в «PHP» нет никакого скоупа.
                    Ответить
                    • Есть.
                      Глобальный, локальный и статический.

                      Именно поэтому я за «PHP».
                      Ответить
                      • Речь про локальные переменные
                        Ответить
                        • > Речь про локальные переменные
                          function foo()
                          {
                              global $g;   // локалка из глобального скоупа
                              $local = 0;   // локалка из скоупа функции
                              static $s = 0; // локалка из статичного скоупа
                          }
                          Ответить
                          • Ладно-ладно. Думал ты не пыхер, и тебя можно наебать. Не прокатило.
                            Ответить
                            • g: пыхер

                              .ЧИХ-ПЫХеры.
                              мы не херы , а чих-пыхеры

                              Пыхер в Харьков « Предлагаю работу « Форум - ПЫХА

                              Работу, которую раньше за месяц делал один пыхер с зп 50к в мес., сейчас полгода делает команда из пяти React/Redux разработчиков с зп 250к.
                              Ответить
                              • Какой багор )))
                                Ответить
                                • причем пыхеровское говно работало у него на денвере на 500-м селероне, и грузилось 1 секунду

                                  а React/Redux сначала качает свои пятнадцать мегабайт, затем три секунды пишет "starting", а затем хром выедает одно ядро на Tiger Lake i9

                                  Ах да, еще пыхарь свой код тотал коммандером по FTP на сайт загружал, а фронт пять минут компилиркется
                                  Ответить
                                  • И потом вы спрашиваете почему я за пхп
                                    Ответить
                                  • > Ах да, еще пыхарь свой код тотал коммандером по FTP на сайт загружал, а фронт пять минут компилиркется
                                    У нас на работе фронтовики переехали с «Webpack» на «Vite». Теперь фронт компилируется не десять минут, а всего три!
                                    Ответить
                                    • и с oom не падает?
                                      хм...
                                      Ответить
                                      • У разрабов вроде падает иногда (у них всего по 64 гигабайта или около того памяти на машинах), а на билд-сервере с половиной терабайта собирается нормально.
                                        Ответить
                                        • 64 маловато, конечно

                                          там еще надо знать специальный ключ для ноды, чтобы разщрешить ей нааллокейтить себе мнгого памяти


                                          Программист из 1999-го года слетал в 2022й, возвращается, и грит:

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

                                          его потом в дурку забрали
                                          Ответить
                                          • или вот прилетел программист в 2045й, а ему говорят:

                                            "Хуавей в своих процессорах добавил новую инструкцию, через которую JIT PowerShellа хорошо работает"

                                            Он говорит: а нахуя??

                                            Как это, говорят, нахуя? Под него же все современные приложения написаны, под FacebookOS
                                            Ответить
                                            • > Хуевей
                                              > в своих процессорах
                                              > Хуевей
                                              Вот в этом месте смешно. У них своего только дырища в TSL и грамота из райкома.
                                              Ответить
                                        • > с половиной терабайта

                                          У некоторых компов энергонезависимая память (SSD/HDD) меньше.

                                          > всего по 64 гигабайта

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

                                          А тут для компиляции...

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

                                            Потому что у мусорки на вокзале валялась пожеванная жвачка с налипшими на нее волосами (JavaScript), а ее подобрали, и стали пытаться из нее сделать кольцо с сапфиром.

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

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


                                                неограниченные ресурсы (AWS) развращают неограниченно

                                                -------------

                                                вообще сама мысль написать компилятор на высокоуровневом ЯП без целых чисел зато с GC и запускать его через JIT на какой-то хуйне вырванной из браузера это пиздец
                                                Ответить
                                              • опять обострение у байтоебов на говнокоде
                                                Ответить
                              • Давайте вспомним, что на пыхе написаны такие замечательные сайты, как ВКонтакте, Facebook, Wikipedia и Говнокод. А чем известна ваша ссаная Jawa?
                                Ответить
                                • Говнокод действительно полезная площадка, и часто страдает именно из за пхп: все эти Notice, halted by excepton итд


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

                                  На джаве написаны
                                  * IDE для джавы
                                  * Профайлер для джавы
                                  * Система сборки для джавы

                                  мало??
                                  Ответить
                  • Однако стандарт оговаривает, что локальное говно будет уничтожено (вызван деструктор) при выходе из скоупа (функции), правда?

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

                      Нет, думаю что он ничего такого не говорит. Ну и если у тебя локальный инициализированный массив, который НЕ ОБЪЯВЛЕН как const но по-факту никто и ничто его не меняет, так что можно было б сделать его const (и компилятор это может доказать), то компилятор его может тупо разместить сразу же в неизменяемой секции на этапе компиляции, без всяких стеков
                      Ответить
                      • то есть если я спрошу Стандарт: "а чем автоматическа переменная лучше переменной в динамопамяти?", то стандарт отвтвет: "Автоматическую не нужно удалять вручную" и все?

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

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

                              Стандарт крестов нихуя не описывает конкретики, через какое именно говно на низком уровне выделяется память для автоматических переменных, и через какое именно говно выделяются данные в куче.
                              Ответить
                              • если стандарт не описывает, то почем ты знаешь, что ты не втираешь ему какую-то деталь имплементации, на которую рнельзя завязываться?
                                Ответить
                                • > что ты не втираешь ему какую-то деталь имплементации

                                  А так оно и есть. Не вижу в этом проблемы.

                                  Вот есть например такая хуйня https://en.wikipedia.org/wiki/Catapult_C которая крестопарашный код как-то умеет компилировать в FPGA. Сможешь ли ты дать четкий ответ, через какую такую сраку там будет выделяться автоматические переменные и через какую такую сраку там выделится некое говно на хипе?
                                  Ответить
                                  • я согласен в целом, но мне не очень нравится делать ремарку про implementation details, это всё равно что размер структуры отсчитывать от размера кеша конкретного проца

                                    И потому я за "go": там программист может где угодно что угодно размещать, а потом придет escaope analyses, и переебёт всё по своему
                                    Ответить
                                    • > И потому я за "go": там программист может где угодно что угодно размещать, а потом придет escaope analyses, и переебёт всё по своему

                                      Это всё вранье. Оно красиво звучит для искусственных, тривиальных примеров, вроде «заполнили массив из 3.5 элементов» и тут же вернули.

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

                                      К примеру это код поиска контрпримера к некоему математическому утверждению. Мы понимаем что 99.9% итераций не будут удачными.

                                      С т.з. компилятора переменная покидает стек, но априорно он не знает покинет она его или нет. До тех пор пока не будет проверена текущая кобенация.

                                      Что, "умный" компилятор будет делать? Туда-сюда в куче аллоцировать и освобождать? Ведь нельзя понять статическим анализом при компиляции что 99% аллокаций нужно на стеке и 1% на куче.

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

                              #include <stdio.h>
                              #include <stdlib.h>
                              
                              struct shit {
                                int govno;
                                float mocha;
                              };
                              
                              int main(void)
                              {
                                struct shit *a = malloc(sizeof(struct shit));
                                if (a == NULL) return EXIT_FAILURE;
                                *a = (struct shit){123, .456};
                                printf("%d %f", a->govno, a->mocha);
                                return EXIT_SUCCESS;
                              }


                              У меня в Си выделение на хипе это просто кусок памяти из-под malloc, в который тыкается указатель на некоторое говно и через него в него чего-то пишется. Где тут "объект"?
                              Ответить
                              • Борманд, ты? Уи-уи-уи-уииииии!!
                                Ответить
                              • 3.14

                                object:
                                region of data storage in the execution environment, the contents of which can represent values


                                что не так?


                                ООПное говнопонятие мутное не имеет к понятию object в няшной никакого отношения
                                Ответить
                                • Ну т.е. "объектом" может быть и эта выделенная через malloc() память, я всё правильно понял? Ранее ты написал

                                  > переменная это объект в той самой памяти, ну

                                  Но ведь "выделенная через malloc память" это никакая не переменная. Адрес выделенной через malloc памяти может хранить некая переменная, а может и не хранить. В общем хуйня какая-то.
                                  Ответить
                                  • >Ну т.е. "объектом" может быть и эта выделенная через malloc() память, я всё правильно понял?

                                    да.

                                    >Но ведь "выделенная через malloc память" это никакая не переменная.

                                    Почему? Это переменная, с которой ты работаешь по указателю.

                                    Какие две переменные я сложил?
                                    ``(*a) + b``?

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

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

                                      А можно сюда определение, что такое переменная?

                                      > Какие две переменные я сложил?
                                      > ``(*a) + b``?

                                      Ты сложил значение "b" и результат разыменования "a"

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

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

                                        Конкретизирую вопрос. Что такое переменная с т.з. стандарта, и является ли вернувшаяся после вызова malloc() хуйня (если это не NULL) этой самой переменной? Если является, то переменная это адрес в памяти? Переменная это та память сама по себе (диапазон валидных адресов, по которым можно записывать некую хуйню)? Переменная появляется тогда, когда выделенную через malloc() память каким-то образом используют (пишут-читают некую хуйню) или переменная "возникает" сразу же после успешного вызова malloc()?
                                        Ответить
                                        • Я даже заинтересовался и почитал стандарт. Слово «variable» упоминается в основном в контексте массивов переменной длины, остальные присутствуют в сносках (т.к. я читал черновик, скорее всего это ещё не вычищенные куски) и по контексту должны обозначать «идентификатор», т.е. имя.

                                          Объект объяснён как «region of data storage in the execution environment, the contents of which can represent values», т.е. нихера не объяснён и нужен, чтобы потом говорить «вот эта хуйня создаёт новый объект с таким-то временем жизни». Если перерыть стандарт, можно вычленить все способы создать объект, но это нахуй не нужно.

                                          В общем, хуйня, которую вернул malloc, является объектом, но не переменной (идентификатором).
                                          Можно создать объект с автоматическим временем жизни с идентификатором (то, что обычно называют переменной) типа «указатель на хуйню», и записать туда адрес объекта, который вернул malloc.
                                          А можно не страдать хуйнёй и сказать «создать указатель на выделенную память»
                                          Ответить
            • Ребзя, прекращайте называть автобоксингом неумение джавы инстанциировать классы с генериками

              Автобоксинг это умение превращать примитив в референс тайп посредством заворачивания его в указатель

              C# так тоже умеет.
              Ответить
          • Автобоксинг там есть, я могу передать враппер туда, где ждут валуйтип и наоборот

            Просто шарп умеет генерить по генерикам нормальные классы, а джава нет.
            Потому List<int> внутри будет иметь массив интов, а не массив указателей на инты как ЙАЖА

            >совсем как шаблоны

            Верно. Но в шаблонах можно обосраца, и наинстанциировать себе 100500 0одинаковых наблонов , а в C# -- нет
            Ответить
    • https://vk.com/wall-154906069_1276575
      Ответить
    • да блядь https://properprogramming.com/tools/jquery-to-javascript-converter/#Convert_jQuery_to_JavaScript_Online_Too l
      Ответить
    • аксессуар https://vk.com/video-194041936_456243138
      Ответить
    • Перекат!

      https://govnokod.ru/28275
      https://govnokod.xyz/_28275/
      Ответить
    • Смешной какой багор нащел в пинде.
      Как так может быть, что сумма System Idle Process и CPU Utilization в taskmgr чуть превышает 100%?

      Отгадка очень простая, я ее уже знаю, и скажу, если не угадайете

      Иканус?
      Ответить
      • Округление?
        Ответить
        • ну такой простой вопрос я бы не стал задавать
          Ответить
          • > Отгадка очень простая
            > такой простой вопрос я бы не стал задавать
            ОПРЕДЕЛИСЬ УЖЕ!

            Вторая идея — переключатель задач сам по себе ЦП жрёт, но учитывается в Idle.
            Ответить
      • Обновляется не синхронно друг с другом?
        Ответить
      • СДАЕТЕСЬ?

        Возьмите Windows performance monitor, и почитайте description у "processor utilization" и "cpu usage"

        хинт: турбо буст, c-states итд
        Ответить
        • Блядь, как всё сложно. Именно поэтому я за «Прыщи».
          Ответить
          • прыщи тоже иногда сосут хуй

            я рассказывал, как у меня докер контейнер якобы отъел половину памяти?

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

            сделаешь flush буферам -- пройдет
            Ответить
          • «Прыщи» уже давно под опекой сотрудников «Microsoft».

            Problems?
            Ответить
            • MS там чуть ли не в десятке топ коммитеров, да
              Ответить
              • А сколько людей интересных работает на Microsoft, a...
                Ответить
                • угу. VSCode, TypeScript, куча всего для Linux..

                  MS вообще корпорация добра. Любой сторонник ОпенСурс должен хотеть там работать
                  Ответить
                  • Довольно обидно, что крестовиков уже причисляют к пропутинцам...
                    Ответить
    • ИНЮ САЙТ НЕ ЗРОБИТ

      Я ПОЛ ЧАС АНЕ МОГУ ЗАПОСТИТЬ КОММЕНЬ
      Ответить
      • Используй учётку MAKAKA
        Ответить
        • Ее поломали хакеры через дыры в сайте, стали с нее распостранять цп, и ее забанили многие люди(((
          Ответить
          • > через дыры в сайте
            – сцук, да ты комик почище Джима Кэрри!
            Ответить
            • Но ведь возможность поставить простой пароль -- это действительно дыра в сайте.
              Ответить
              • Приведи реальный пример непростого пароля.
                Ответить
                • Сорок тысяч обезьян в жопу сунули банан
                  Ответить
              • citation needed
                Ответить
                • Лень, на OWASP'е погугли.
                  Ответить
                  • рекомендации owasp для говнокода это забивание гвоздей телескопом хаббла
                    Ответить
                    • DevOps: Nginx, Docker, Docker-compose, Kubernetes, CI, Linux, GitHub.
                      Ответить
                    • Да, ты прав, для говнокода следует следовать рекомендациям из учебника РНР для начинающих.
                      Ответить
                      • это классика, это знать надо:

                        в одном треде убеждать, что рассылка документов в формате docx неизвестной версии офиса полезна и питательна

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

                          Да, без архитектора одну строчку с регуляркой не добавить. Хотя с ней здесь было бы скучнее, наверное.
                          Ответить
                          • да, а потом двухфакторку
                            а потом биометрику
                            а потом приватный ключ на съёмном носителе и otp на токене

                            это чтоб страйко уж заебался на десять поколений вперёд

                            и всё это ради одного (sic!) постоянного пользователя, которому было впадло уважить самого себя и придумать хотя бы 23417 лол, а не 123

                            и это между прочим опытный инженер
                            Ответить
                            • > двухфакторку

                              А чому нет? Одно поле в базу да готовая либа, которая QR код по этому ключу показывает да циферки хеша сверяет. Если бы не QR, то там даже снуля работы на 5 минут.
                              Ответить
                              • не понял, а какое приложение будет этот qr-код считывать?
                                Ответить
                                • Тысячи их. Зачем для этого какая-то кастомная хуйня, если TOTP/HOTP -- это стандарт?
                                  Ответить
                                  • ну так

                                    считал ты qr код

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

                                      Работает даже если мобила в оффлайне.

                                      З.Ы. Можно и без QR, но руками ключ не особо приятно вбивать.
                                      Ответить
                                      • откуда взялась прога? ты предлагаешь использовать google/ms authenticator?
                                        Ответить
                                        • Да, или любой другой, который этот стандарт понимает. Они все, в принципе, совместимые.
                                          Ответить
                                          • любой другой это какой?

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

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

                                                    впрочем, ты и так
                                                    Ответить
                                            • кстати нихуя, в ms authenticator всё есть, что нужно, просто не очевидно спрятано
                                              Ответить
                                    • погуглил.

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

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

                          И все такие: "ну, не обращай внимание"
                          Ответить
                • To mitigate the risk of easily guessed passwords facilitating unauthorized access there are two solutions: introduce additional authentication controls (i.e. two-factor authentication) or introduce a strong password policy. The simplest and cheapest of these is the introduction of a strong password policy that ensures password length, complexity, reuse and aging; although ideally both of them should be implemented.
                  Ответить
              • Вот тут мы кстати опять говорим про готовые фреймворки VS самопал

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

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

                Для совсем параноиков я бы настроил клиентские серты (у нас так было одно время на работе, причем серты c M$ CA сами накатывались по шаблону)
                Ответить
                • лично я уже много лет sso стараюсь не использовать, а тут такая инновация предлагается для гк!
                  Ответить
                  • За инновациями гоняться - себя не уважать. Я бы погодил, пока всё устаканится, а то получится как с обновлениями MSVC..
                    Ответить
    • Fullstack Senior Developer Blockchain (Node.js, Vue.js)
      до 500 000 ₽
      Требования
      Back: Node.js, JS, TypeScript.
      Front: Vue.js.
      BD: SQL (mySQL, PostgreSQL).
      DevOps: Nginx, Docker, Docker-compose, Kubernetes, CI, Linux, GitHub.
      Testing: Unit, интеграционное тестирование.
      Ответить
    • Там Яббле поцапались с Эрикссоном. Колумбия уже пала.
      Ответить
      • среди нас есть переводчик?
        Ответить
        • Он сказал, что если ты несогласен, то тебя зарежут. Шутка.
          Ответить
          • погуглил.

            пока что пала не та колумбия, чтобы переживать
            Ответить
            • А какая еще бывает Колумбия? о_О
              Ответить
              • не гони, трамп с бидоном в Боготе что ли заседают?
                Ответить
                • Неее, не звучит. Или звучит как антиконституционные потуги провозгласить стомильную зону отдельным штатом.
                  Кстати, к вопросу о федерации здорового человека.
                  Ответить
                  • > стомильную зону
                    Тут я обосрался, на самом деле десятимильную, а 100 квадратных.

                    > в Боготе
                    Уже третий раз как читаю, как «в Болоте» которое хотел осушить Трамп
                    Ответить
                    • У меня в древности был тимлид, его атец был из Санта-фе-де-Богота, деть фестиваля (отца он никогда не видел)

                      Грамотный чел, кстати. Меморилик в томкате нашел профайлером
                      Ответить
              • Колумбия пикчерз
                Ответить
              • шоколумбия

                https://vkuslo.ru/nabory_podarki
                Ответить
          • угу. VSCode, TypeScript, куча всего для Linux..
            Ответить
      • Шведская девочка-волшебница из Эриксона наконец-то вступила в борьбу со злом?
        Ответить
        • У них должен быть альянс с Сони, ждем какой-нибудь Харбор на тихоокеанском фронте.
          Ответить
          • Альянс? Это который "На заре"?
            Ответить
            • Композитор этой песни Олег Заурович Парастаев умер в 20-м году...
              Ответить
    • ванишд
      Ответить
    • 2008г еще https://youtu.be/wLS60VzbDnQ
      Ответить
    • https://github.com/Pipyao/-Tomcat/blob/master/GovnoMocho.iml
      Ответить
    • Ослоёб пиздит сам с собо ахаха=х
      Ответить
    • Сегодня узнал, что оказывается в IDEA по ctrl + [ / ctrl + ] можно перескочить к предыдущей открывающей и закрывающей фигурной скобке соответственно. Расту.
      Ответить
      • IDEA хороша, но я за VS Code, он поддеорживает ssh к серверу.
        Ответить
        • А мог бы поддержить BLM. Именно поэтому я против «расисткого software».
          Ответить
          • К сожалению JAWA на столько уёбищная и тормознутая, что такое поддержать уже не представляется возможным.
            Ответить
        • Idea тоже умеет, но хуёво
          Ответить
      • Случайно что-то нажал
        @
        Узнал о полезной фиче
        Ответить
      • Поставь себе vim плагин, вим это умеет уже 35 лет как: %
        Ответить
        • Vim плагин к IDEA? А так можно разве?
          Ответить
          • смотри: vim по процентику скачет между скобками (а может и ви скачет даже)
            и еcть https://plugins.jetbrains.com/plugin/164-ideavim

            он делает тоже самое


            у меня и на студии vsvim стоит: нахуй мне под каждую ИДЕ учить свои шорткаты?
            Ответить
            • Есть какое-то видео с демонстацией работы?
              Вим внутри IDE? Это не шутка? Какой багор )))
              Ответить
              • у меня как-то в телеге спрашивали как выйти из вима в IDEA блядь
                Ответить
                • Блядь )))))
                  я чуть кружку с кофем не опрокинул ))))
                  Ответить
              • Почему багор? А емаксовые хотки тебя не удивляют? Такой плагин тоже есть
                Ответить
            • Где-то был плагин, который создаёт неебический эффект, когда печатаешь буквы. Типа буквы впечатывается силой или даже с огнём. Не знаешь такой?
              Ответить
        • % скачет туда сюда, а ему нужно к открывающей.
          [{
          Ответить
      • Какой structural editing
        Ответить
      • > что оказывается в IDEA по ctrl + [ / ctrl + ] можно перескочить к предыдущей открывающей и закрывающей фигурной

        Именно поэтому я за «vim». Там и %
        И так можно:
        [{
        ]}

        [ ] тоже удобны для навигации между разными блоками.
        Ответить
    • https://files.catbox.moe/pp2v1z.png
      Ответить
      • Блять!
        Ну в смысле годно.

        Brave New World — да
        1984 — да.
        They Live — конечно.
        451 — пока не везде, в рашке точно жгли.
        Бразилия — отчасти.
        Идиократия — однозначно.
        Mad Max — ещё нет.
        Ответить
        • В Mad Max в 90е перегонщики японского говна с помоек в Москву играли.
          Ответить
          • Ну тогда хотя бы таких проблем с топливом не было...

            А вот Идиократия у нас самая натуральная. Вплоть до мелких деталей:
            https://pbs.twimg.com/media/FUGHDW4XEAE8IVu.jpg

            https://pbs.twimg.com/media/FUGHF6vXsAMa-pf.jpg


            Интересно, это мы на каком этапе FuttBuckers или ButtRuckers?
            Ответить
        • в игре Mad Max 2015 года лор преподполагает, что случился топливный кризис, засуха, голод, пандемия и на закуску война.

          полирнули, чтоб наверняка
          Ответить
          • Чем больше я играю в сталкер, тем больше осознание, что его писали в будущем, в Украине, разбомбленной хуйлом.
            Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • #на правах оффтопа
      Ответить
    • [color=whirw]j2Tb1Yx5Rr8Kg6Kn4Uk7Az3Mf5Ax4En1Cr9Ut6It 2Vo6Ww3De3Md0Yr0Oe8Yr3Bg2Sv4So6Du2Tr2Ws6 Rf8Vj3Au5Bl4Ty3Df9In[/color]
      Ответить
    • [color=whirw]v8Ra1Pf4Hi2Cb6Qq6Ik6Id2Xt7Lm8Re1Ym9Fy0Mi 6Py2Cz4Vi7Lm6Np7Pr1Ox8Xo1Vo9Kc4Jb4Nj5Jd6 Cp4Gc4Qv5Pu2Xb4Rg0Op[/color]
      Ответить
    • [color=whirw]q6Du3Fb1Rv9Bg8Me4Cb6Oq0Py0Ti4Pu9Zi6Jt4Iz 3Ff9Lc7Ci1Cs1Hu1Li5Kd9Vf8Ve5Za5Oe7Mp1Nz5 Ey4Qp9Zi1Zm8Lz4Vk1Eb[/color]
      Ответить
    • [color=whirw]z1Xk0Cn0Dx2Cp2Cs5Gp8Tv6Rr6Cb4Zj4Gw0Ua2Nt 7Wd1Rb9Np9Kg5Me0Ek5Vk4Gf1Ba9Bh0Hp6Ty1Ij6 Od4Yl5Dl9Ii1Mb3Xa5Vm[/color]
      Ответить
    • [color=whirw]t2Qh9Gi5Zd5Tw0Gj4Sr4Aw3Wi5Cd8Rh3Lt7Jx0La 7Jg6Js0Es1Ej8Fh5Vs2Mn0Sn5Bd7Pd5Wd8Mu0Aa0 Sr9Rz1Zq0Xj8Oh9Wn1Ng[/color]
      Ответить

    Добавить комментарий