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

    0

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

    #49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
    #50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
    #51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
    #52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
    #53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
    #54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
    #55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
    #56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
    #57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
    #58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
    #59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
    #60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
    #61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
    #62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
    #63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
    #64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
    #65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
    #66: https://govnokod.ru/27040 https://govnokod.xyz/_27040
    #67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
    #68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
    #69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
    #70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
    #71: https://govnokod.ru/27115 https://govnokod.xyz/_27115
    #72: https://govnokod.ru/27120 https://govnokod.xyz/_27120
    #73: https://govnokod.ru/27136 https://govnokod.xyz/_27136
    #74: https://govnokod.ru/27160 https://govnokod.xyz/_27160
    #75: https://govnokod.ru/27166 https://govnokod.xyz/_27166
    #76: https://govnokod.ru/27168 https://govnokod.xyz/_27168
    #77: https://govnokod.ru/27186 https://govnokod.xyz/_27186
    #78: https://govnokod.ru/27219 https://govnokod.xyz/_27219

    Запостил: nepeKamHblu_nemyx, 15 Февраля 2021

    Комментарии (409) 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 (резервный чат)
      Ответить
    • Нахуя нужен такой здоровый список предыдущих оффтопов? Кто-то щас спецом пойдёт в оффтоп номер 52? Ну, сразу после того, как поставит себе Ubuntu 8.10
      Ответить
      • ты не поверишь, но 52-му оффтопу и года нет
        Ответить
        • И что? Это как-то оправдывает наличие ссылки на него?
          Ответить
          • ну ты лет на 12 промазал с Ubuntu 8.10
            а так ничо
            Ответить
            • Ты такой серьёзный

              Съешь ещё этих мягких булок и почитай про гиперболу
              Ответить
              • Почитал.

                Гипербола -- геометрическое место точек M евклидовой плоскости, для которых абсолютное значение разности расстояний от M до двух выделенных точек F1 и F2 (называемых фокусами) постоянно.
                Ответить
              • В чащах юга жил бы цитрус? Да, но фальшивый экземпляръ!
                Ответить
                • Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
                  Ответить
                  • Аффтар, зохавай исчо тех аццких олбанских креведок, да выпей йаду.
                    Ответить
                    • Накормил тебя мышиным ядом, т.е. кошками, проверь.
                      Ответить
                  • KDEшник детектд
                    Ответить
              • конференция говнокодеров не место для шуток
                Ответить
      • А мне нравится: выглядит ОЧЕНЬ солидно.
        Ответить
    • е бой, научился аватарки менять.
      Ответить
    •                                        Achtung!                                          

      Wir werden angegriffen! Alle posten besetzen. Ich wederchole: wir werden angegriffen!
      Ответить
    • постпоттеринговые прыщи редкое говно конечно.

      Из простого сохранения ёбаного дампа упавшего процесса они сделали блядь это
      https://www.freedesktop.org/software/systemd/man/systemd-coredump.html

      Сука, надеюсь Поттеринг восемь процессов запускает перед там, как посрать сходить, и они все друг друга мультикастом через dbus находят.

      Сервис, сокет, ctl, петух блядь проткнутый
      зла не хватает
      Ответить
      • Гарри Поттеринговое?
        Ответить
      • Ну в этом есть смысл, дистрибы типа убунты и до этого корки скриптовали чтобы предложить их отправить. Видимо теперь это будет единый механизм.
        Ответить
        • И тебя вообще нисколечко не типает от вот этого:
          >Сервис, сокет, ctl,
          ?

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

              они ушли в горы, и построили девуан
              Ответить
              • откуда в линуксе юниксоиды??

                старые линуксоиды ушли в Plan9, а затем в Inferno
                Ответить
                • Да, все три:)

                  На самом деле юниксоиды вполне себе мигрировали в линукс: Эрик Реймонд в The art of Unix programming еще в 90-е писал, что дескать я раньше выпускал бюллитень "каким юниксом пользоваться на писи", и вот теперь я могу сказать, что всем надо пользоваться GNU/Linux.

                  Какое-то количество юниксоидов еще побултыхалось с разными bsd и solaris, но linux это как джаваскрипт: нравится-не нравится, а всё равно из каждой дырки торчать будет
                  Ответить
                  • я не сильно разбираюсь в сортах поттеринга

                    неужели там нет ничего хорошего вовсе?

                    p.s. выше следует читать "старые линуксоиды" как "старые юниксоиды"
                    Ответить
                    • в чем нет? в поттеринге?

                      Поттеринг принёс усложнение и кучу новых абстракций. Хорошо это или плохо зависит от угла зрения.

                      Я вижу оверинжениринг в некоторых местах кмк

                      Вот например жил был oss.
                      Открываешь /dev/dsp, и срешь туда PCM, и он играет у тебя в колонках.

                      Круто было?
                      А стало так:
                      https://en.wikipedia.org/wiki/PulseAudio#/media/File:Pulseaudio-diagram.svg
                      Ответить
                      • ну я не знаю, это сродни претензии, что на последних виндах нельзя ассемблером индикатор нумпада переключить
                        Ответить
                        • ээ.. вообще-то можно. Ничто не мешает из программы на асемблере вызвать
                          SendInput (если ты знаешь call convention), а она ей можно менять лампочу
                          Или нет?

                          На самом деле я тебя понял, конечно: ты о том, что из защищенного режима нельзя писать в порт 0x60 (в случае эмуляции ps/2) и работать с USB HID (как именно там включается намлок наверняка знает борманд, думаю надо слать запрос ``Set_Report``).

                          В линуксе просто всё в целом усложняется.

                          Был такой lpd для печати, который просто набирал задачи в очередь, и слал их последовательный порт (к принтеру) а стал конвеер CUPS:
                          https://www.samba.org/samba/docs/old/Samba3-HOWTO/images/10small.png

                          Был oss, затем alsa (с одним простым тулом для управления звуком) а стал неебический pulseaudio с кучей какого-то говна
                          https://linux.die.net/man/1/pulseaudio
                          что это?
                          https://www.apt-browse.org/browse/ubuntu/precise/main/amd64/pulseaudio/1:1.1-0ubuntu15/file/etc/pulse/default.pa
                          зачем мне

                          pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1),
                          esdcompat(1), pabrowse(1), pacat(1), pactl(1), padsp(1), paplay(1), pasuspender(1), pax11publish(1)

                          ?

                          Был тупой lilo с конфигом в три строки, а стал GRUB2 у которого конфигурация генерируется (!) скриптом из другой конфигурации.

                          Была пачка шелл-скриптов в sysv init, cron, inetd и текстовые логи syslog.

                          В стали какие-то units, services, sockets, timers, dbus, DBUS_SESSION_BUS_ADDRESS, какие-то XMLи ебучие
                          https://www.freedesktop.org/software/polkit/docs/0.105/pkexec.1.html

                          Я понимаю конечно, что очень круто уметь подключить посылку звука по сети (вместо локальной карты), или использовать GUI вместо sudo, но мне оно нахуй не надо, а только отвлекает мое внимание, и заставляет читать маны (ну или тыкать мышкой в кнопочки и не знать как оно работает, как делает наверное 90% убунтят)
                          Ответить
                          • > у которого конфигурация генерируется (!) скриптом из другой конфигурации.

                            - ./configure && make && make install ЛОЛ
                            Ответить
                            • Это все таки аутолулз (множество раз обоссаный, кстати) цель которого сделать пакет, который соберется на любом юниксе (ну который влезет gnu).

                              Тут же немного иное.

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

                              И есть ``grub-mkconfig`` который генерирует этот конфиг на основе твоих ядер (например, добавляет пункт для каждого ядра).

                              Но им же тоже нужно управлять.
                              И вот есть 100500 shell скриптов, которые он запускает (в частности скрипт 10_linux как раз ищет ядра), и конфигурационный файл для управления им с тучей переменных типа GRUB_BUTTON_CMOS_ADDRESS
                              https://www.gnu.org/software/grub/manual/grub/grub.html#Simple-configuration
                              (Кстати, отдельный плевок от меня летит в GNU и rms за отказ от man в пользу info)

                              В общем то, над чем все смеялись в sendmail, успешно реализовано в GRUB2:

                              вот 10_linux, к примеру
                              https://hackware.ru/wp-content/uploads/2020/06/gnu-linux.png

                              ps: в дебиане ``grub-mkconfig`` обмазали ``update-grub`` чтобы добавить еще больше уровней косвенности
                              Ответить
                              • ну я к тому, что странно, если бы люди, годами юзавшие автотулз, внезапно сделали бы что-то непохожее на автотулз!

                                а за развёрнутый ответ спасибо
                                Ответить
                          • ну ладно, а зачем это всё?

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

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

                              GRUB понимает файловую систему, так что можно загрузить linux даже если ты забыл дернуть lilo после установки linux.

                              CUPS интегирует фильтры в такой пайп (там можно превратить документ в постскрипт, например)

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

                              Еще есть NetworkManager, который динамически умеет включать/выключать сети в зависимости от их наличия.

                              В общем эта такая миграция от "всё настраивается просто и вручную" в сторону "всё умное, и само пытается правильно работать из коробки"

                              От классического юникса в такую вот почти винду
                              Ответить
    • Прыщевики какие-то сказочные люди, конечно.

      Вот есть простая задача: сохранять настройки файрвола и загружать их при каждом запуске.
      Каждый дистрибутив решает её по своему (поттеринг пытался починить, и сделал еще хуже: см firewalld), но вот есть Debian: старейший дистр, входящий в top 5 популярных дистров.

      iptables (на nft я пока не перешел) можно сохранить через iptables-save (по сути это просто dump) и iptables-restore (ну понятно, да?), но как их загрузить?

      Правильно, нужно вручную прописать их в хуке "/etc/network/if-pre-up.d/".

      А неужели все прописывают?
      Конечно же нет: вот вам целый мощный фреймворк:
      * есть пакет netfilter-persistent, который устанавливается как systemd unit, стартует с системой
      * он дергает плагины (суть шелл скрипты) среди которых есть iptables-persistent
      * и вот он уже делает restore.

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

      Но тут я думаю: а как загрузить ebtables (файрвол на уровне ethernet типа для бриджа)?
      Думаю, есть наверное ebtales-persistent, если такой неебический фреймворк нахуеверитили, да?
      да?
      нет.
      Хуй.
      https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697088

      Пидарас нахуевертил свой фреймвок, а потом ему стало лениво. За восемь лет ни одна блядь не осилила добавить ebtables.

      Какие же таблицы можно сохранять? Какие говнопакеты зависят от нашего прекрасного фреймворка?
      $ apt-cache redepends netfilter-persistent
        ipset-persistent
        iptables-persistent

      Всё. Охуеть. Ни eb, ни arp, ни-ху-я.

      Наоворченная хуйня которая умеет нихуя. Лишь бы папочки делать и класть в них файлики, начинающиеся с циферок.
      Ответить
    • Что за хайп вокруг "Clubhouse". Илон Макс написал о нём в твитторе, так теперь изо всех дыр его упоминают.
      Ответить
      • не знаю, какая-то очередная ненужная параша типа соцсети с видеозвонками. Хуйзнает, чем она лучше стапицот своих конкурентов, и зачем она вообще. Никогда этого не пойму.

        но люди ведутся
        Ответить
        • дед, оденься
          Ответить
          • Если бы для победы над пандемией вам нужно было пожертвовать одним языком программирования, то какой бы язык вы выбрали, и почему JavaScript?
            Ответить
            • потому что typescript заебись
              Ответить
              • самое печальное что даже если бы он стал отдельным языком, который впендюрили бы прямо в браузер, из него всё равно всякие typeof было бы не выкинуть, тянул бы js-парашу как все языки на йаже тянут type erasure. ненавижу, блядь.
                Ответить
            • Pascal
              Ответить
            • Lua ещё можно
              Ответить
      • Пишут, что туда попасть пока можно только по приглашению. А люди всегда на такое слетаются как мухи на говно. Хочется же побыть илиткой.
        Ответить
        • Говнокод тоже илитное сообщество.
          Ответить
        • Да, там уже вроде как около полутора миллиона илитки. Скоро по элитарности догонит айфон
          Ответить
          • Хабр тоже был инвайт-онли когда-то.
            Ответить
            • на качестве отражалось не особо

              а ещё был такой сайт лепра, кто-то сидел там из присутствующих?
              Ответить
              • нечетник хуев, пятизнак ёбаный
                Ответить
                • I beg your pardon?
                  Ответить
                  • у тебя не было пятизнака аськиного?
                    Ответить
                    • нет, у меня и шестизнака не было

                      где бы я его взял) особенно учитывая, что в аське я начал сидеть году в 2006-ом
                      Ответить
                  • тебя самого там не было что ли?

                    https://govnokod.ru/user/23661

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

                      нет. в те годы, когда она была популярна, я был мал и интернет у меня был по карточкам (в буквальном смысле тоже)
                      Ответить
                      • ну вот, а я-то думал на латыша наткнулся (
                        Ответить
                        • я эстонец
                          Ответить
                          • https://pikabu.ru/story/latyishi_est_5076300?cid=88124366

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

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

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

                                  реально днище же
                                  Ответить
                                  • лебедева вообще-то хуями оттуда выгнали. до введения нологов там очень приятное коммьюнити было, потом я на какое-то время исчез, потом уже времени не стало.
                                    Ответить
        • и те же самые унылые куски говна, которых можно было десять лет наблюдать на ВК/FB/Instagram/Одноклассгники/TikTok/YouNameIt теперь будут ту же самую хуиту вещать через новую элитарную соцсеть, и все будет совсем иначе!
          Ответить
          • но зачем ты их наблюдаешь

            нет жизни, кроме говнокода, же
            Ответить
            • я не наблюдаю. Собссно, кроме говнокода я особо нигде и не сижу. Посираю иногда во всяких техрассылках
              Ответить
      • Ещё недавно Маск вроде усиленно пиарил Signal. Или это кто-то другой был?
        Ответить
        • Да он что только не пиарил... Неплохая возможность подзаработать на акциях очередного никому не нужного говна.
          Ответить
    • зачем нужны несколько рабочих столов?
      Ответить
      • Чтобы быстро переключаться между наборами прог, а не ковыряться в куче окон.
        Ответить
        • и какими наборами ты пользуешься?
          Ответить
          • Ну, к примеру, IDE + браузер с доками на одном, виртуалка и консольки на втором, браузер с гк и чатики на третьем.
            Ответить
            • я забыл, что у вас нормальные виртуальные рабочие столы x2
              Ответить
        • Забавно, что множественные рабстолы это не изобретение KDE и lxde. У винды (внезапно!) их может быть много. Но винда из коробки это не использует для благих целей
          Ответить
          • С какими-то дровами (то ли nvidia то ли intel) вроде ставилась переключалка столов для венды? Как бы не во времена XP.
            Ответить
            • кажется, эти дрова назывались windows 10, может даже 8.1
              Ответить
            • Я не про дрова.

              У пиндовой Workstation есть десктоп. Каждое окно привязано к десктопу.
              Десктопы реализуют какую-то секурити боундари, вроде в соседний десктоп нельзя послать месседжа.


              Всего у Winsta0 по умолчанию три десктопа:
              * главный
              * для ctrl-altl-delete
              * для секурного скринсейва

              но можно создать 100500.
              https://docs.microsoft.com/en-us/windows/win32/winstation/desktops

              CreateDesktop:
              https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createdesktopa

              SwitchDesktop
              https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-switchdesktop

              В десятку может уже завезли для этого какой-то фронтэнд, но API был еще с w2k, но explorer им не пользовался

              зы: ебать, там еще каждый тред с десктопом ассоциирован
              Ответить
          • а для каких?
            Ответить
            • Ну там броманд рассказал вроде, зачем ему)
              Ответить
              • бромансd? бромансctl?
                Ответить
              • в смысле?
                Ответить
                • а, я не очень понял твой вопрос:)

                  для чего их использует винда я написал тут:
                  https://govnokod.ru/27254#comment609296

                  По идее на основе этого API можно было сделать множество рабочих столов, но по какой-то причине Microsoft этого не сделал.

                  Пишут однако, что в десятку уже завезли много рабочих столов.
                  Но API был еще в прошлом веке (буквально)
                  Ответить
          • там еще тоже добавили какую-то хуйню с win + tab, которая кажется помесь открытых приложений, рабочих столов и истории запусков. но мне было похуй, поэтому я её закрыл.
            Ответить
      • у меня один под личную жизнь (ха-ха-ха, оценили шутку?), там сразу браузер с нужным профилем, всякие заметки прямо на десктоп, разная поебень короче, тому же телеграму запрещено показываться на других активити, например; второй под работу, там тоже отдельный профиль браузера, отдельные иконки быстрого доступа, всё такое; третий под личный пердолинг, опять же профиль браузера и больше ничего. вот и сейчас у меня в одном браузере миллиард статей из википедии по разным структурам для aknn, в другом милевон ковров и диванов (и, кажется, я все-таки выбрал).

        удобно переключаться между всем этим буквально за один win + tab, а не чистить вкладки да закрывать ненужные ide, чтоб не мешались.
        Ответить
        • Это какая ос?
          Ответить
          • это KDE, конкретно у меня манжаро, но от дистрибутива понятное дело ничего не зависит
            Ответить
            • собссно в KDE я эти столы увидел впервые.

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

              https://upload.wikimedia.org/wikipedia/commons/d/d9/KDE_1.0.png
              https://en.wikipedia.org/wiki/K_Desktop_Environment_2#/media/File:KDE_2.2.2.png
              Ответить
              • тут из зала подсказывают, что 4 стола появились еще в CDE в 1993-м году, когда единственной граифческой средой на PC была Windows 3.11

                https://upload.wikimedia.org/wikipedia/commons/a/ae/CDE_Application_Builder.png
                Ответить
            • И под Mojave можно пропатчить?
              Ответить
        • > оценили шутку?

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

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

            зато тюленя вот тут подарил девочке с кошачьими ушами. плюшевого, огромного, 60см. коробку под него еле блядь нашел, и всё равно он не запихнулся, еле подарочной бумагой обмотал.
            Ответить
            • На 14 февраля?
              Ответить
              • да если бы. тринадцатого кстати это было.
                Ответить
                • А на 23 что подаришь?
                  Ответить
                  • мы тут с одной фронтендщицей недавно залипали в алиэкспресс, начав с моего списка "самое ебанутое", в общем, идей больше чем финансов
                    Ответить
                    • в каком смысле фронтендщицей?
                      Ответить
                      • тайпскрипт и прочее, а не то что вы все хотите подумать (
                        Ответить
                        • ну я понял, да: она эксперт по передним концам, а сценарий у вас типичный, и для него вы искали товары на "али экспресс"
                          Ответить
            • > девочке с кошачьими ушами. п
              всмысле сорокалетнему С++ программисту с бородой и в носках?
              Ответить
        • я забыл, что у вас нормальные виртуальные рабочие столы
          Ответить
          • А в макоси что с ними не так?

            К слову, в бубунте они тоже не совсем нормальные изкоробки. Только primary монитор переключается. А остальные остаются как были.
            Ответить
            • да в общем всё не так

              1) глобальный alt-tab для всех рабочих столов
              2) глобальный док для всех рабочих столов
              3) ну и как следствие невозможность всех этих разных профилей под разный рабочий стол (или я не знаю как, научите)
              Ответить
            • Это очень странно.

              Я вот ща проверил виртуалку с двумя монами (это один screen, но два Output в терминах xrandr). Так lxde переключает конечно весь screen целиком, который оба мона охватывает

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

                З.Ы. Я даже не ебу, какое у меня сейчас DE, лол. Гном 3 вроде.
                Ответить
                • и того у нас есть дисплей, скрин, аутпут, десктоп и воркспейс. Хорошо в иксах)

                  да, DE у убунты вроде на основе гнома
                  Ответить
          • у нас есть отдельно виртуальные рабочие столы, отдельно активити. рабочий стол это реально просто рабочий стол, а в активити ты чуть ли не всё на свете можешь настроить, включая что у тебя вылезает в лаунчере и какой шелл по умолчанию.
            Ответить
    • dialog или whiptail?
      Newt или ncurses?
      Ответить
    • https://ebanoe.it/2021/01/26/how-to-earn-3000-usd/

      Как получать 3К+ баксов и нихуя не делать. Пошаговое пособие

      Пишет Анонимус: «Здравствуйте уважаемое ебаное.
      Пишет вам человек, который понял, что выжигать глаза кодом хуёво и непрофитно, а получать бабки хочется.
      И вот какое решение я для себя принял.
      Пункт 1.

      Поработайте полгода-годик формошлёпом. Смысл — чисто получить технический бекграунд чтобы не быть совсем некомпетентным.
      Пункт 2.
      Недельку-вторую посмотрите всякие бесполезные семинары по QA. Чисто поучите теорию бесполезных техник тест дизайна (лол как будто бы блядь хоть кто-то когда-то ставит таску, а не потестить ли нам вот эту вот хуйню ad-hoc + pairwise). Эта теория будет вам бесполезна по факту, но нужна на собеседованиях.
      Еще пару дней потратьте на изучение protractor.js / selenium. Вам эта хуйня в 90% случаях нахуй не будет нужна, но иногда может быть полезна.
      Пункт 3.
      Найдите какую-то американскую\европейскую фирму, с неебически припиздяной бизнес-логикой, которой нужен Lead QA. Дальше берете и меняете свою CV, вхуяриваете себе несколько лет опыта мидлом, синьором, лидом (можно создать отдельную страницу в Линкеде)
      Любое техническое интервью даже с базой в 1 год формошлёпки и недели дрочилова QA-теории — пройдется без проблем. Ну да, единственное — инглиш должен быть на неплохом уровне.
      Ответить
      • Пункт 4.
        Стартуешь на работе с того, что показываешь себя нихуя себе процессивным задротом. Делаешь вантуваны со своими макаками, изучаешь неебательски сложную бизнес-логику. Короче ебашишь бесполезную работу, на время тестового периода, ставишь задачки макакам и формошлёпам, такой прям элитный QA-задрот.
        Пункт 5.
        Если на проекте есть автоматизация, пишешь парочку простых тестиков, начинаешь одного из своих обезьян — которая больше похожа на ту, которая хоть чуть-чуть сможет в код.
        В гите создай свой бранч, где пишешь код на самые простые задачки (не больше 20 строчек кода) и делаешь вид, что разгружаешь кодеров.
        Пункт 6.
        Раз в 3-6 месяцев вводишь какую-то фичу. Типа какую-то хуйню а-ля шаблон для банковских переводов\аптек. Говоришь — ну кодеры у нас перегружены, я захуярю сам. Хуяришь за месяц (в реальности делаешь это за 6-8 часов). Повышение з\п баксов на 500 обеспечено.
        Итог.
        Получаешь з\п на уровне синьоров-помидоров — работаешь по 6-8 часов в неделю и на пересмотрах з\п ты всегда в плюсы уходишь.
        Удачи, шароёбы».
        Прислал Анонимус
        Ответить
        • Ну такое... Вместо кода будешь выжигать глаза переписками и созвонами. Плюс за любые факапы макак ебать будут тебя, а не их.
          Ответить
          • Да тут вся статья пиздёж, как обычно на ёбаном.
            Ответить
      • картинка охуенная
        Ответить
      • Всего $3k? Ну в принципе да, кто ж QA больше даст.
        Ответить
    • Ротоёб?

      https://ebanoe.it/2020/12/22/dnepr-crazy-programmer/
      Ответить
      • >скинули инвалида с моста,
        охуясе там жесткач
        Ответить
    • Охуенно: This feature is supported but not implemented
      Ответить
    • Помните, я тут ныл про неудаляемые на убунтах и дебианах ядра?
      А разгадка проста
      MAKAKA$ apt-config dump | grep NeverAutoRemove
      APT::NeverAutoRemove "";
      APT::NeverAutoRemove:: "^firmware-linux.*";
      APT::NeverAutoRemove:: "^linux-firmware$";
      APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*$";
      APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*-[a-z0-9]*$";
      APT::NeverAutoRemove:: "^linux-.*-5\.4\.0-64-generic$";
      APT::NeverAutoRemove:: "^linux-.*-5\.4\.0-65-generic$";
      APT::NeverAutoRemove:: "^kfreebsd-.*-5\.4\.0-64-generic$";
      APT::NeverAutoRemove:: "^kfreebsd-.*-5\.4\.0-65-generic$";
      APT::NeverAutoRemove:: "^gnumach-.*-5\.4\.0-64-generic$";
      APT::NeverAutoRemove:: "^gnumach-.*-5\.4\.0-65-generic$";
      APT::NeverAutoRemove:: "^.*-modules-5\.4\.0-64-generic$";
      APT::NeverAutoRemove:: "^.*-modules-5\.4\.0-65-generic$";
      APT::NeverAutoRemove:: "^.*-kernel-5\.4\.0-64-generic$";
      APT::NeverAutoRemove:: "^.*-kernel-5\.4\.0-65-generic$";
      APT::NeverAutoRemove:: "^postgresql-";
      MAKAKA$ head /etc/apt/apt.conf.d/01autoremove
      APT
      {
        NeverAutoRemove
        {
              "^firmware-linux.*";
              "^linux-firmware$";
              "^linux-image-[a-z0-9]*$";
              "^linux-image-[a-z0-9]*-[a-z0-9]*$";
        };
      Ответить
    • Насколько вменяемо держать в крестах вектор шаредпоинтов? Не считается ли это говном?
      Ответить
      • Пока крестовики тебе ще не ответили, скажи: почему это может быть говном?
        Я с ходу говна не вижу (но я и не крестовик)
        Ответить
        • Вектор хуй пойми как работает, там что-то копируется, что-то расширяется. В общем, вполне возможно, что случится багор. Именно поэтому я против «вектор» и за «массив».

          Вот пример «нюанса»:

          https://stackoverflow.com/questions/19334889/vector-of-shared-pointers-memory-problems-after-clearing-the-vector

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

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

            объект разумеется не удалился, потому что шаред СКОПИРОВАЛИ, он для этого и нужен.

            Чтобы убить старый шаред нужно его туда мувнуть.

            Вроде кресты так и работают. И с массивом было бы тоже самое
            Ответить
            • Ну вот, видишь, а если бы чувак не пользовался смарт поинтерами, то и думать бы не пришлось!
              Ответить
              • Да, оно бы просто пизданулось на использовании освобождённой памяти.
                Ответить
              • в древнем С++ не было никаких умных поинтеров, и проблем не было.

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

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

                  Угу, только std::auto_ptr, но он был больной на голову, хоть и считал себя умным.
                  Ответить
                  • в нем вроде прикольно было массивы хранить, да)

                    но ведь когда-то не было и его. Умный программист просто очень хорошо понимал, когда объект можно удалять. Иногда он использовал для этого счетчики:)
                    Ответить
        • Не люблю древовидные форумы всё-таки. Иногда приходится одно и то же в разные ветки копипиздить
          Ответить
          • А как должен выглядеть форум, где это не пришлось бы делать?
            Ответить
            • vBulletin?
              Ответить
              • как пхпбб но за бабло?
                Ответить
                • Я привёл в пример первый «классический» форум, который вспомнил.

                  Тут дело в UX, а не в названии
                  Ответить
                  • Я, кстати, так и не понял, как там всё организовано (((

                    Типа как на обычном форуме, где разделы, темы, а в темах треды, как на говнокоде... Только тренды не древовидные?
                    Ответить
                    • Типа того.

                      А ты что, никогда не сидел на таких??
                      Ответить
                      • Нет (((

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

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

                                  https://gcode.space/#!/27254

                                  Сверху есть переключалка

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

                                      так что может это что-то другое
                                      Ответить
                                      • ссылка на парент — навести курсор на последний знак # никак не помеченный в заголовке сообщения
                                        Ответить
                              • а разгадка одна: веб форумы говно и не нужно

                                будь у нас юзнетовые сервера, каждый выбрал бы себе клиента по вкусу, и потёк

                                да и сеть надежную выстроить было бы проще
                                Ответить
                                • ортогонально

                                  у тебя в базе хранится или древовидная структура, или линейная

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

                                    По сути у каждого сообщения нужно хранить поле типа In-Reply-to.

                                    Важно, что гуй должен быть отделен от данных
                                    Ответить
                                    • дедушка, ты опять забыл таблетки выпить?!
                                      Ответить
                                      • --Важно, что гуй должен быть отделен от данных
                                        --дедушка, ты опять забыл таблетки выпить?!


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

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

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

                                            https://sysadmins.ru/topic532602.html

                                            https://www.linuxquestions.org/questions/linux-software-2/%5Binkscape%5D-vectorizing-hand-written-text-4175690448/
                                            Ответить
                                            • пиздец какой-то

                                              > sysadmins.ru
                                              - не показывает тело комментариев без JS (где-то я уже сталкивался с таким хворумом)

                                              > linuxquestions.org
                                              - закрыто фрау Кларой

                                              а так-то ЛОР конечно
                                              Ответить
                                              • > не показывает тело комментариев без JS

                                                Вы что, не слышали про новую прогрессивную технологию SPA client-side rendering?
                                                Ответить
                                    • Эх, как юзнет захотелось-то
                                      Ответить
                                • да и отпугнуть оставшихся полторых землекопов. Хотя я тоже за юзнет и веб-архив.
                                  Ответить
                                  • Гавкнул на тебя и испугал до обосранцев.
                                    Ответить
            • Связный граф комментариев, ответ на несколько точек графа, тред отображается на плоскости и по нему ползаешь. Есть мини карта новых сообщений и компас.
              Ответить
      • Вай нот? Если у тебя там не какой-нибудь хуй-пирфоманс и тебя небольшой оверхед от шариков не парит, проблем не вижу.
        Ответить
        • А зачем вообще писать на крестах, если похуй на пирфоманс? Можно ж тогда руби взять, или питон, или пхп какой-нибудь, и о каких-то там шаредпоинтерах вообще не думать.
          Ответить
          • Х.з., он вроде ради кроссплатформы кресты взял, не ради пирфоманса.
            Ответить
            • Какой хороший «С++»: и кроссплатформенный, и пирфомистый!
              Ответить
              • А ещё и высокоуровневый и наглядный!

                * выбери что-то одно.
                Ответить
          • З.Ы. Вот цитата: https://govnokod.ru/27219#comment608652
            Ответить
          • ну ты сравнил оверхед от шарика в векторе крестов и интепретирумый язык с ГЦ и без джита
            Ответить
        • Спасибо. Перформанс не так критичен, да и всё нормально с ним. Просто думал, что может идиоматически правильно копировать или мувать (а потом остатки чистить вилкой лол) или может RAII какой заюзать.
          Ответить
          • копировать, мувать или юзать поинтеры зависит от того, как твой объект должен жить

            В целом копировать тяжело (но от объекта зависит), без надобности лучше этого не делать (а в случае ссылок на внешние ресурсы это вообще нереально)

            RAII и так тут везде юзается
            Ответить
            • Если копировать, то и шаред поинт не нужен кмк
              Ответить
              • ну да, если ты готов копировать объект, то поинтер тебе не нужен

                но копировать во-первых тяжело, во-вторых не все можно копировать. Скопируй мне сокет, например)
                Ответить
                • dup!
                  Ответить
                  • а чувак на другой стороне не охуеет когда ты начнешь ему разное срать?:)
                    Ответить
                    • Ну если ты в джва треда параллельно писать не будешь -- нет, наверное.
                      Ответить
                      • у него есть какое-то состояние, и у тебя тоже. Теперь у тебя два объекта, и у каждого свое состояние.

                        алсо, может быть так, что при уничтожении первого объекта ты пошлешь ему "bye" (сам сокет не закроется наверное, пока все дупнутые дескрипторы не закроются, но в иных протоколах есть требование слать bye), и будет бугурт

                        В общем это очень сильно зависит от протокола. В общем случае копировать сокеты не очень хорошо.

                        но кроме сокетов есть еще внешние ресурсы, которые не дупаются. Какие-нить там объекты в DirectX
                        Ответить
                        • Ну тоже можно какой-нибудь рефкаунтер привернуть и делать вид, что твоя обёртка копируется.

                          Паттерн flyweight или как там это по-научному.
                          Ответить
                          • ну то есто по сути реализовать шарика своими силами?

                            Да, это частный случай приспособленца легковеса. Классический пример из банды четырёх это лигатура в редакторе. У тебя есть 100500 букв Ы в тексте, каждая умеет себя рисовать, но совсем не нужно иметь 100500 одинаковых объектов.

                            Пул интов в жабе (и кажется в CLR) тоже пример по идее
                            Ответить
                            • Ну это не шарик, это ближе к qt'шным value object'ам. Те тоже делают вид, что они простое значение, а под капотом какая-нибудь корова.
                              Ответить
                              • так шарик же туда-сюда копируется, экземпляры его "разрушаются", а сам объект удаляется только когда укатится в закат последний шарик

                                или нет?

                                или дело в семантике: у валуе обэекта семантика такая, словно два разных объекта не связаны никак, а что они реально не копируются, а приспосабливаются посредством коровы -- это деталь реализации?
                                Ответить
                                • Шарик не скрывает, что он указатель. А у этих value object'ов прям методы есть.
                                  Ответить
                                  • понял тебя, да. Это как с пулом интов, значит, но только инты всё же R/O, а если бы они были мутабельны и коровились бы при изменении, то было бы вообще оно
                                    Ответить
                • Это собеседование?
                  Ответить
    • Сегодня впервые коммитил говно на "TypeScript". Пришлось кастовать хуйню в any, чтобы вызвать у неё якобы несуществующий метод.
      Ответить
      • это примерно как кастовать структуру чтобы получить у нее поле с якобы несуществующим оффсетом
        Ответить
        • Ну что поделать, в сишке эта практика сплошь и рядом. По-другому интерфейсы сложно замутить.
          Ответить
          • я не про void*
            Ответить
            • И я не про void*.
              Ответить
            • Я про вот такие штуки:
              struct some_iface {
                  int (*method)(struct some_iface *);
              };
              
              static int method_impl(struct some_iface *this) {
                  return ((struct my_impl *)this)->field;
              }
              Ответить
              • я про это же, просто привык весь интерфейсный стейт выносить в отдельное поле void*, присутствующее в интерфейсе
                struct abstract_reader_t {
                  int (*read_next)(void* self, byte* buffer, int size);
                  void *self;
                }
                Ответить
                • Ну мне мой вариант чуть больше нравится т.к. с конкретным типом чуть сложнее отстрелить себе яйца чем с void'ом.
                  Ответить
                  • просто нужен еще один макро, который сам будет всё кастовать в нужные типы!
                    Ответить
                    • Я про вызывающую сторону, в read_next первым аргументом любую хуйню можно передать.

                      На вызываемой то стороне понятно, что макрос. Особенно если ты несколько интерфейсов реализуешь разом.
                      Ответить
                      • да, я про то что было бы клево иметь магию, которая автоматом кастовала бы read_next_concrete(*implementation, ...), в read_next(*void, ...)
                        Ответить
      • это явно в Хрюкни
        Ответить
    • какой багор!
      https://daniel.haxx.se/blog/2021/02/19/i-will-slaughter-you/
      Ответить
      • Какие вореции )))
        Ответить
      • – I will slaughter you!
        – Clearly you don’t deserve my code.

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

          Я не знаю зачем вообще нужны комментарии
          Ответить
          • не, ну мне тоже наверное было бы неприятно получить такую хуету

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

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

                уверен (но не вспомню наверняка), что до этого было какое-нибудь письмо типа "отправьте нам жалобу на спам", чего моя тогдашняя компьютерная грамотность отфильтровать не смогла
                Ответить
        • вордпресс один раз поставил и забыл*

          *пока очередную дыру не откопали и не надо патчить
          Ответить
          • после чего уже этот чувак будет писать угрозы авторам вротпресса?
            Ответить
            • авторам вротпресса я бы тоже написал

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

                а торвальдс пусть будет, хотя к линуксу тоже много вопросов
                Ответить
              • ниже?
                Ответить
    • Хватит погромировать мишкой! (развернулся и ушёл, хлопнув дверью)
      Ответить
    • https://imgur.com/a/UKahPIu
      Ответить
      • мне реально правили артикли в ревью: "a" на "the". Причем несколько раз неправильно
        Ответить
        • ну как ещё потешить своё чсв синьор-принципал-архитектору с опытом работы размером с меловой период и мозгами, по размеру подходящими обитателям этого самого мелового периода?
          Ответить
          • Попросить добавить explicit к конструктору с двумя аргументами, как тут кто-то жаловался.
            Ответить
            • у меня на ревью еще лишние пустые строки удаляют
              Ответить
              • это вообще должна отдельная тулза делать
                Ответить
                • иногда лишний пробел имеет смысл, делая код читаемее

                  псевдокод

                  x = 12
                  y = 40

                  но
                  openBeer()
                  drinkBeer()

                  if doSomethingOther() do()

                  тут пробел допустим
                  Ответить
                  • Ну "лишние", это я так понимаю, когда 2 подряд. Такое вполне можно удалить автоматом, сократив их до одной.
                    Ответить
                    • у меня коллега доебался именно до одной лишней строки:)
                      если бы мы писали на питоне, то я бы просто взял pep8 какой нить, там таких проблем нет
                      Ответить
                      • Просто строка, разделяющая смысловые блоки, как в твоём примере выше?
                        Ответить
                        • да, он посчитал, что там разделять ничего не нужно.

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

                            Какое важное рахитектурное решение )))
                            Ответить
                            • Ну кстати такие питухи тоже бывают, правда обычно это в старом коде.

                              Я уже жаловался как-то, что в старом жабаговне посреди бизнес логики мне встречался JLabel.

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

                              if (isUnitTestMode())


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

                              Я пытался завести DI с двумя реазилациями UI, но в старом коде не взлетело.

                              А в одном вебговне дошло до того, что автоматизировать какие-то девствия можно только селениумом, потому что там там часть бизнес-логики чуть ли не в onclick у HTML тага написана.

                              А потому что practicality beats purity.
                              Ответить
                              • это потому что невозможно написать practicality без cality
                                Ответить
                      • а какой тулой вы делаете ревью?
                        Ответить
                        • несколькими, обычно upsource.

                          Я люблю в фича бранче ребейзнуться на мастер или сквошнуть коммит, и похерить кучу комментариев от коллег
                          Ответить
                          • > несколькими

                            - любимый вариант!))

                            > Я люблю в фича бранче ребейзнуться на мастер или сквошнуть коммит

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

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

                              >зачем
                              Я не люблю срать коммитами типа "Fixes for [ISSUE-NUMBER] after review [REVIEW NUMBER]"

                              Потому когда мне дают ценный комментарий, я просто амменджу коммит, и форспушу его.

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

                              А коллеги любят что-то по три недели ревьюить: Больно заняты.

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

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

                                > А ребейжу на мастер я потому, что если бранч будет долго жить в своем мире, то я потом хрен его замёрджу в мастер

                                - тут у меня два вопроса: почему ты не можешь делать время от времени backmerge и почему rebase вместо merge? тебе не нравятся мерж-коммиты?

                                > В прошлой жизни я работал в конторе с прекоммит ревью:

                                - в гите на самом деле прекрасно работает в виде патчей
                                Ответить
                                • У апсорса тоже вроде есть клиент в IDE и в вебе.

                                  У нас не приветствуются мердж коммиты, бо они засирают историю.

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

                                  Либо же можно черрипикнуть нужный коммит в мастер.


                                  >в виде патчей
                                  Разумеется. Попробуй контрибьютнуть куда-нить в прыщи: у тебя попросят послать патч на рассылку конечно.
                                  Ответить
                                  • > У нас не приветствуются мердж коммиты, бо они засирают историю.

                                    - не понимаю этого прикола, ну ладно
                                    Ответить
                                    • история и так засрана говном, репа клоинируется достаточно долго, зачем срать еще больше?
                                      Ответить
                                      • я не настаиваю.

                                        просто

                                        1) история и так засрана говном
                                        - ну и что? а это такой частый юзкейс, ковыряться в истории?

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

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

                                            > CI машины как раз стараются хранить репу
                                            - хм-м, не сталкивался вроде с таким подходом. есть серьёзный профит по времени сборки или чему-нибудь ещё?
                                            Ответить
                                            • Вполне. git annotate может подсказать мне, зачем были сделаны какие-то изменения.

                                              CI клонит репу на агент, а потом просто делает update.
                                              Это, в общем, намного быстрее, чем делать clone с ноля, если у тебя овердоухя кода (у нас его правда овердохуя по причине большого количества питухов и очень долгой истории существования продукта)
                                              Ответить
                                              • и тебе помешают пара merge commit'ов в выхлопе annotate/blame?

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

                                                в меркуриале вон вообще надо бранчи закрывать))
                                                Ответить
                                                • > и тебе помешают пара merge commit'ов в выхлопе annotate/blame?

                                                  пара моих мердж коммитов в день * 365 * на например 10 * 20 питухов

                                                  > в меркуриале вон вообще надо бранчи закрывать))
                                                  ну бранчи везде по разному работают

                                                  у нас в одном проекте был perforce.

                                                  Там бранчи делаются вообще по ебанутому:
                                                  * мапишь определенную ревизию на определнный путь
                                                  * забираешь этот путь себе в папку на диске

                                                  вот и бранч
                                                  Ответить
                                                  • у тебя два мерджа в мастер в день?

                                                    какой velocity )))
                                                    Ответить
                                              • иногда последние N коммитов вытягивают. но это всё зависит от личных потребностей.
                                                Ответить
                  • так пробел или строка?
                    Ответить
    • Какой отлчиный багор! Икануса нехватает
      http://heirloom.sourceforge.net/mailx_aux_c.html

      tl;tr

      В 1978-м году студент Беркли писал клон mail (их и сейчас три штуки есть в юниксе), и сделал файл aux.c (ну как у пыхеров есть fun.php).

      Потом CP/P сделал спец файл AUX, связанный с ком портом.
      Потом это собезъянил M$, причем отключив расширение: запись в AUS.BAS приводила к записи в ком порт.
      Потом прошло без малого пол века, и чел попытался собрать программу студента под Windows.. и соснул буйца, потому что обращение к aux.c на винде приводит к обращению к ком порту для совместимости с DOS
      Ответить
      • ну статья 2007-го года

        тогда на 90% компов стояла хрюша. интересно посмотреть, как сейчас
        Ответить
        • да так же примерно
          Microsoft Windows [Version 10.0.21318.1000]
          (c) Microsoft Corporation. All rights reserved.
          
          C:\Users\MAKAKA>type "A" > AUX.C
          The system cannot find the file specified.


          10.0.21318.1000 -- https://betawiki.net/wiki/Windows_10_build_21318
          Ответить
          • Кстати, а почему это говно не пофиксят?

            Неужели до сих пор есть скрипты, которые полагаются на это странное поведение?
            Ответить
            • скорее всего всем похуй. ЛЕжит какой-то код со времен NT 3.51, и его никто не трогает

              Я даже не знаю, где это сделано: на уровне cmd, или в DosDevices в object manager
              Ответить
    • начинаю закапывать слаку потихоньку
      #
      
              _,met$$$$$gg.           [email protected]
            ,g$$$$$$$$$$$$$$$P.        OS: Debian testing bullseye
          ,g$$P""       """Y$$.".      Kernel: x86_64 Linux 5.10.0-3-amd64
         ,$$P'              `$$$.      Uptime: 10m
        ',$$P       ,ggs.     `$$b:    Packages: 1474
        `d$$'     ,$P"'   .    $$$     Shell: bash 5.1.4
         $$P      d$'     ,    $$P     Resolution: 1600x1113
         $$:      $$.   -    ,d$$'     DE: LXDE
         $$\;      Y$b._   _,d$P'      WM: OpenBox
         Y$$.    `.`"Y$$$$P"'          WM Theme: Onyx
         `$$b      "-.__               GTK Theme: Clearlooks [GTK2]
          `Y$$                         Icon Theme: nuoveXT2
           `Y$$.                       Font: Sans 10
             `$$b.                     Disk: 4.3G / 7.4G (62%)
               `Y$$b.                  CPU: Intel Core i7-3770K @ 3.492GHz
                  `"Y$b._              GPU: VMware SVGA II Adapter
                      `""""            RAM: 708MiB / 978MiB
      Ответить
      • > 1600x1113

        - ебать ту Люсю)
        Ответить
        • так этож виртуалка:) я сначала освоюсь, потом на ноут
          Ответить
        • ты же десктоп, не такое поди еще видел
          Ответить
          • Не, про ебанутые экраны это к андроидщикам)
            Ответить
    • Как вы относитесь к функциональным клавишам?

      Если бы вы сегодня писали десктопный софт, то стали бы маппить какие-нибудь хоткеи на них?

      Почему производители ноутбуков не делают Fn по типу Капса, чтобы она переключала состояние перманентно?
      Ответить
      • Я пользуюсь Fn на ноуте для того, чтобы делать экран ярче/темнее.
        Мапить на них логику я бы не стал, так как они зависимы от конкретного ноутбука и работают обычно через ACPI
        Ответить
        • То есть за пределами ноутбуков жизни нет?
          Ответить
          • За пределами ноутбуков есть Fn клавиши?
            Ответить
            • F1-F12 есть же
              Ответить
              • а, я думал ты про Fn.

                Ну вообще такие кнопки вполне себе используются во многих продуктах, иногда даже конфликтуют) Что не так?
                Ответить
                • > Что не так?

                  - это претензия? я такого вопроса не задавал

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

                  - давайте примеры. Я знаю, что в ФФ F6 это переключение на адресную строку и обратно, например
                  Ответить
                  • Far
                    MC
                    Intellij продукты
                    Visual Studio
                    Chrome
                    Ответить
                    • двухпанельные менеджеры это вне конкурса

                      а что у intellij намаплено кстати?
                      Ответить
                      • https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

                        см правую колонку. Обрати внимание на Compile And Run. F9 это явно оммаж одному известному IDE, где тоже было F9 для компиляции) А F6 это из тех самых манагеров
                        Ответить
                        • спасибо. стандартненько, но местами пахнет борманд паскалем 5.5

                          в общем, имею полное моральное право у себя ставить такие хоткеи и не давать менять
                          Ответить
                          • боландом пахнет, угу

                            А вот например в студии сборка это F5 кажется, так что с ней intelij не совместим
                            Ответить
                            • интересно, что они все отвечают на такое (про кулькулятор):

                              https://govnokod.ru/27254#comment610624
                              Ответить
                              • да там вроде можно перемапить всё
                                Ответить
                                • ну, в серьёзном продукте без этого никуда, обоссут, какими бы удобными не были дефолты

                                  но это ж надо целый слой абстракции пилить
                                  Ответить
                                  • там как-то так https://plugins.jetbrains.com/docs/intellij/basic-action-system.html?from=jetbrains.org
                                    Ответить
                            • для студии ащет есть райдер, где есть vs-раскладка
                              Ответить
                              • райдер это только C#, а студия это не только С# :-)
                                Ответить
                                • там как минимум еще F#. но вооьще хуй знает что вы тут вообще обсуждаете, разные хоткеи это как разные производители банок для закваски кмк.
                                  Ответить
                                  • wtf is банка для закваски?
                                    Ответить
                                  • F# это круто

                                    но в студии еще десяток языков и сред есть
                                    Ответить
                                    • > F# это круто

                                      - чем?
                                      Ответить
                                      • тем, что функционален
                                        https://habr.com/ru/post/428930/
                                        Ответить
                                        • > Поскольку тип неизменяемый, единственный способ внести изменение — создать новый экземпляр. Но что делать, если мы хотим изменить только одно поле?

                                          Пиздец!!!
                                          Ответить
                                          • что именно пиздец?
                                            Ответить
                                            • Чтобы одно поле поменять в «типе», нужно новый экземпляр создать )))

                                              А если экземпляр весит гигабайт?
                                              Ответить
                                              • привет.
                                                добро пожаловать в мир функциональных языков. Тут все объекты немутабельны.

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

                                                Немутабельные объекты настолько лучше мутабельных, что в современных языках по умолчанию немутабельно всё.
                                                Ответить
                                                • Лисп функциональный, но на иммутабельность там никто не дрочит вроде
                                                  Ответить
                                                  • http://blog.thezerobit.com/2012/07/21/immutable-persistent-data-structures-in-common-lisp.html

                                                    https://en.wikipedia.org/wiki/Persistent_data_structure
                                                    Ответить
                                                    • Я ничуть не сомневаюсь в том, что на лишпе можно сделать всё, что угодно. А потом макака может это всё, что угодно, нагуглить.

                                                      Дело-то не в этом
                                                      Ответить
                                                      • макака может гуглить, а рабочий стол может читать нагугленные макакой ссылки, например он может прочитать вот такое

                                                        "Most Lisp books, tutorials and references encourage using lists in a functional style (that is, assuming and treating them as immutable structures)."
                                                        Ответить
                                                        • А где они, все эти books, tutorials?

                                                          И есть же не только списки.

                                                          Пусть придёт wvxvw и расскажет
                                                          Ответить
                                                        • > that is, assuming and treating them as immutable structures

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

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

                                                    иммутабельность же вполне welcome в том же kotlin или (и кажется в свифте)

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

                                                      А так программиста обязывают делать анскильные вещи.

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

                                                        Конечно, это портит микрооптимизации, но в высокоуровневые ЯП вообще не про то.

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

                                                          Ну, если кто-то не знает, как написать семафор и мутех, типа меня, то такой ЯП действительно очень полезен!

                                                          Мне, скорее, не нравится, что нельзя выбирать, что сделать мутабельным, а что иммутабельным.
                                                          Ответить
                                                          • не нужно делать семафор и метух если объект изначально иммутабелен.

                                                            Неизменяемую структуру можно читать в сорок восемь потоков в случайном порядке совершенно безопасно

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

                                                            Именно потому я за С++
                                                            Ответить
                                              • > А если экземпляр весит гигабайт?

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

                                                  Это перепитушня, кмк.
                                                  Ответить
                                                  • ничто не мешает хранить ссылку.

                                                    Пусть есть гигабайтовый объект HomeVideo и объект User.

                                                    ты создаеш новый User, и в поле homeVideo передаешь ему ссылку на HomeVideo

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

                                                        оопбляди бы еще сказали, что методы для работы с HomeVideo лучше добавить в сам класс HomeVideo, и получится более красиво.

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


                                                        Программирование на высокоуровневом говне это, во многом, и есть и искусство разбивания каши на маленькие внятные абстракции
                                                        Ответить
                                              • Если это древовидный объект то все ссылки переиспользуются

                                                Более того, они могут шариться между разными объектами при каждом создании нового объекта и таким образом иммутабельные структуры могут занимать меньше места по сравнению с мутабельными
                                                Ответить
                                                • >иммутабельные структуры могут занимать меньше места по сравнению с мутабельными

                                                  да, кстати)

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

                                                  Если у тебя Два объекта, в каждом из которых меняется uint64_t счётчик, то иммутабельность соснёт, а если объектов миллиард, но половина из них одинаковые, тогда всё хорошо. В этом плане иммутабельная питушня честнее.
                                                  Ответить
                                        • не впечатлён. может, лет 15 назад это и могло бы быть бомбой, но щас
                                          Ответить
                                          • я и не говорил, что это бомба. Но функицональный язык, совместимый с CLR, это вполне неплохо. Тем более что почти всё, что он пишет сравнивая с C#, это же правда
                                            Ответить
                              • не райдер, а решарпер

                                и да, там можно выбирать раскладку как в студии, или как в intellij

                                райдер это отдельный IDE
                                Ответить
                            • отвянь.
                              Ответить
          • Ну у меня на клаве есть колёсико и кнопочки для плейера. Их часто поддерживают в софте.

            А что ещё надо? Всякие яркости да отключения тачпада для десктопа не особо актуальны.
            Ответить
            • Не очень понял, о чём ты.

              Просто есть 12 клавиш, которые используются нерегулярно (ок, 8 из них точно редко).

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

                  Кстати, на макбуке емаксом можно пользоваться только после того, как C назначишь на Cmd, к вопросу о том, кто кого ещё должен бить
                  Ответить
                  • так это нормально, он же не для мака делался, а для кадета)

                    Вообще большинсто туториалов про емакс начинается с того, как переназначить кнопки

                    в VI/VIM тоже есть проблема с Esc, например: не на всех клавах он удобен
                    Ответить
      • > Почему производители ноутбуков не делают Fn по типу Капса, чтобы она переключала состояние перманентно?

        fn + esc?
        или если ты про то что эффект остается после нажатия - то у меня тут отключение тачпада например есть.
        Ответить
      • > стали бы мапить

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

        Заебут потом вопросами "почему у меня F2 открывает калькулятор а не сохраняет файл".
        Ответить
    • Гост спалил тестовый адрес: dev.gcode.space
      Ответить
      • нУ ТАК ВЫЗОВИТЕ ПАЖАРНЫХ
        Ответить
      • поиск не находит, но он вроде его уже палил

        я откуда-то знал, что у нгк есть тестовый домен
        Ответить
    • https://doesnotexist.codes/

      А вот это мы уже обсасывали? Я что-то не припоминаю.

      Интересная, кстати, штука!
      Ответить
      • работает без js!
        Ответить
      • void ReleaseLock(FILE * fp)
        {
          (void)DoLock(fp, F_UNLCK);
        }

        какой странный каст!
        Ответить
        • > какой странный каст!

          Иначе будет ворнинг если у функции есть атрибут, что её результат не стоит игнорировать. Ну и на ревью могут доебаться, что ты забыл обработать ошибку.

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

              З.Ы. По-хорошему надо в комменте рядом написать почему мне похуй.
              Ответить
              • >З.Ы. По-хорошему надо в комменте рядом написать почему мне похуй.

                бесят кстати пидарасы, которые давят ворнинги компиляторов и линтеров не объсняя причитн
                Ответить
            • Лол, а gcc, оказывается, похуй на этот каст, всё равно выдаёт ворнинг. А вот clang понимает.

              Т.е. это больше для будущих читателей, чем для конпелятора.
              Ответить
              • Хотя с другой стороны, крестосемнадцатый [[nodiscard]] вполне подавляется (void)'ом и это даже описано в стандарте.
                Ответить
                • Правило номер сорок восемь гласит: "для этой задачи тоже есть инструмент в последней версии С++"

                  В жабке я бы получит ворнинг от IDE, и задавил бы его аннотацией с комментом
                  Ответить
                • Стандарт напоминает мне какой-нибудь натуральный язык. Вот у нас есть правило склонения. Запомнили? Но: есть исключение для слов, кончающихся на -т, -щ, -колхоз и -дебич. Запомнили? Ага, ну так вот, есл и перед -щ есть ровно одна или три "е", то правило не действует. Запомнили? Хорошо. Теперь записываем список слов-исключений для е(ее)щ.
                  Ответить
                  • Ну причём учти, что часть слов пришла туда из более старого языка, поэтому на них действуют старые правила. А ещё есть 100500 диалектов, как и у натурального языка.
                    Ответить
                    • Всё как в английском
                      Ответить
                      • С его мгимо-диалектом
                        Ответить
                        • да английский и без мгимы в каждой дырке свой, особенно в Бриташке
                          Ответить
                          • в братишке
                            Ответить
                            • курлы
                              Ответить
                              • libкурлы
                                Ответить
                              • https://curl.se/download.html

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

                                      Не зря создатель цыганкоина непубличная личность
                                      Ответить
                                      • я боюсь, что будь он публичным, у него бы уже паяльник отвсюду торчал давно
                                        Ответить
                                        • Даже из μ??
                                          Ответить
                                          • Крошка Мю (швед. Lilla My).

                                            Мю — самая маленькая, целеустремленная и абсолютно независимая мюмла.

                                            Мю — родная сестра дочери Мюмлы и единоутробная сестра Снусмумрика
                                            Ответить
                                        • #СатошиКон_верни_крипту
                                          Ответить
                                • но как наскочять курл если тебе нужен курл чтобы скочять ?!
                                  Ответить
                                  • IE это программа, чтобы скОчать curl
                                    Ответить
                                    • спосибо но он говорит 11 а щяс 2021...
                                      Ответить
                                    • и как запустить на ubuntu serfer ???
                                      Ответить
                                      • Прогони chkdsk, он поможет. Ещё службу индексации останови.
                                        Ответить
                                        • мне маша сказала chkdsk нельзя запускать она умная первая догадалась про чипы в превики
                                          Ответить
                                          • Чыпы в 4ом?

                                            – А Маша выйдет?
                                            – Нет, она умная
                                            Ответить
                                        • sfc scannow забыл
                                          Ответить
                                  • a:\> dir
                                    unzip.rar
                                    unrar.zip
                                    Ответить
                            • Сраный братишка
                              Ответить
    • Перекат!

      https://govnokod.ru/27270
      https://govnokod.xyz/_27270/
      Ответить

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