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

    +1

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

    #44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
    #45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
    #46: (vanished) https://govnokod.xyz/_26646
    #46: (vanished) https://govnokod.xyz/_26654
    #47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
    #48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
    #49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
    #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

    Запостил: nepeKamHblu_nemyx, 19 Ноября 2020

    Комментарии (463) 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 (резервный чат)
      Ответить
    • Есть два стула: на одном изменение БД так, чтобы в таблице «комментарии» содержалась только персистентная информация (дата написания, ID), а текст комментария брался из таблицы «версии» (SELECT ... version.comment_id = ... ORDER BY version.date DESC LIMIT 1;), на другом — менее разрушающее изменение: таблица «комментарии» не меняется, «версии» вводятся как отдельные сущности. На какой стул сами сядете, на какой НГК посадите?
      Ответить
      • зачем тебе разные версии комментариев?

        д++ сейчас тебе скажет, что данные лучше вообще не менять, бо mvcc будет проткнутое (у тебя же постгря?)
        Ответить
        • Историю хранить, видимо.
          Ответить
          • Не проще ли тогда хранить их в git?
            Ответить
            • Производительность не позволяет.
              Ответить
              • Да норм будет, я думаю. В основном же актуальные треды просят, а они в кеше.

                Другое дело, что гит долго по истории грепает т.к. хранит полные снепшоты а не дельты, надо всю историю ветки прочёсывать даже ради одного файла.
                Ответить
                • Зелёный забыл.
                  Ответить
                • > гит долго по истории грепает т.к. хранит полные снепшоты а не дельты
                  Я потому старый код не удялю, а комментирую обычно
                  Чтиобы проще было найти
                  Ответить
        • В качестве самого минимума — чтобы выводить заванишенные комментарии. Что-то вроде «/api/comments?unvanish=true» — и такой запрос выбирает последнюю версию, не равную «vanished» (скорее всего придётся поебаться с флагами). В качестве максимума — чтобы получать всю историю изменений комментария.
          Ответить
          • http://govnokod.ru/26964#comment577567
            Ответить
            • Да, спасибо, помню это обсуждение. Если бы БД делалась с нуля — мы бы так и запилили. Проблема в том, что нужно изменить существующую БД, а это сопровождается всяческим геморроем.
              Ответить
              • >всяческим геморроем.
                а в ваших алчеми миграций умных нет?
                Ответить
                • «NGK» принят в наследство, систем миграции там изначально не было. Все вопросы к bormand.
                  Ответить
                  • миграшки лучше уметь

                    мы еще когда писали под ms-sql 2005 прямо в студии, сама студия генерила миграшки)
                    ну и почти все современные фреймворки это могут из коробки
                    Ответить
              • > существующую БД

                Сделай новую и перенеси данные. Оно ж read only, джва инстанса без проблем работать будут, разве что ГК чуть больше напрягут.
                Ответить
                • Хм, а это идея. Спасибо, передали в инженерный отдел.
                  Ответить
                  • Да вообще историю можно хранить денормализованным говном где угодно, если тебе не нужно делать умный диф или быстро куда-то откатываться
                    Ответить
        • > у тебя же постгря?
          Подтверждаю.

          > д++ сейчас тебе скажет, что данные лучше вообще не менять
          Не так тебя понял. Ну вот да, я тоже об этом думаю. Радикальное изменение существующей таблицы (удаление/замена столбцов) выглядит слишком⁢… радикальным. И геморроя больше, конечно.
          Ответить
          • но у тебя не такой хайлоад, чтобы пиздец, любой вариант нормально
            Ответить
            • Он дрочит на то, чтобы было совсем идеально. Даже index.html статикой отдаёт.
              Ответить
              • ну и молодец. Зачем усложнять и плодить сущности?
                Ответить
          • Там не про DDL, а про DML.

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

        Ну и в запросе флаг history чтобы получить все версии комментов, а не только последние.
        Ответить
        • фу денормализация
          Ответить
        • > но добавить флаг latest чтобы быстро фильтровать для нормального просмотра.
          Можно тогда в comments просто добавить ID последней версии, так даже фильтровать не нужно будет.
          Ответить
          • Не ну можно с partiton by. Я правда не помню, можно ли по этой конструкции индекс построить. Если можно, то вообще летать будет.
            Ответить
            • зависит от того, сколько раз тебе читать, а сколько писать
              всё же обычно 90/10 или 99/1, поэтому вариант с аналитической функцией (или я бы рекомендовал латерал джойн, внутри которого ордер и лимит 1) просрёт денормализации, где при записи всё что надо вычислено и сложено, и индексировано

              если чо, постгрес умеет партиал индекс, типа index ... on comments (nonunique_comment_id) where is_latest;
              Ответить
    • Борманд, а тебе такие няшки тоже нравяцца https://games.mail.ru/pc/news/2020-10-13/kosplej-dnya-jennifer-bez-odezhdy-bezumnyj-houmlender-i-hitraya-sid ?
      Ответить
    • Что-то TOPT не выходит на связь. Батарейка на телефоне села?
      Ответить
    • До чего ж «PostgreSQL» охуенен!
      Берём циркулярную зависимость по FK:
      ALTER TABLE comment_revisions
          ADD CONSTRAINT fk_comment_revisions_comment_id FOREIGN KEY (comment_id)
          REFERENCES comments (id_ru)
          DEFERRABLE INITIALLY DEFERRED;
      
      ALTER TABLE comments
          ADD CONSTRAINT fk_comments_last_revision_id FOREIGN KEY (last_revision_id)
          REFERENCES comment_revisions (id)
          DEFERRABLE INITIALLY DEFERRED;

      — и вуаля, внутри транзакции мы можем сначала INSERTнуть коммент с last_revision_id = 42, потом INSERTнуть новую ревизию с id = 42, всё это дело успешно закоммитить и получить все гарантии внешнего ключа.

      А вот «MySQL» так не может, поэтому один из констрейнтов придётся удалять и надеяться на высшие силы, что однажды туда не пихнётся какая-нибудь хуйня.
      Ответить
      • До чего охуенен!..
        ngk=# CREATE INDEX ix_sync_states ON sync_states(pending, priority) WHERE pending;
        CREATE INDEX
        
        ngk=# EXPLAIN ANALYZE SELECT * FROM sync_states WHERE pending ORDER BY priority DESC;
                                                                      QUERY PLAN
        ---------------------------------------------------------------------------------------------------------------------------------------
         Index Scan Backward using ix_sync_states on sync_states  (cost=0.13..20.98 rows=6 width=53) (actual time=0.008..0.012 rows=6 loops=1)
         Planning Time: 0.062 ms
         Execution Time: 0.020 ms
        (3 строки)
        Ответить
        • > sync_states

          Не то чтобы вся эта табличка не входила в кеш... А до внедрения индекса какие циферки были?
          Ответить
          • Конкретно для неё, конечно, там цифры крохотные — единицы миллисекуд на seq scan даже на впске (выше я на локальной базе тестирую), обойти чуть больше 27-ми тысяч небольших записей можно и прямо в «Питоне», лол. Меня поразила сама возможность для оптимизации: будь в этой таблице миллиарды строк, из которых с pending == true только единицы/десятки/etc., частичный индекс позволил бы сэкономить дохуя памяти и, главное, места в кэше.

            P. S. А вот почему «Posgresql» не использует частичный индекс по «sync_states(priority) WHERE pending» (не композитный) для сортировки в том же запросе, а сортирует результат куи-и-и-к-сортом — я так и не понял. Анскилл, что ли?
            Ответить
            • попробуй индекс (priority) where pending;
              зачем тебе в твоем текущем индексе хранить кортежи (true, ...) я хз
              Ответить
              • Вот я тоже не знаю, зачем они нужны «Postgresql»:
                ngk=# create index ix_sync_states on sync_states(priority) where pending;
                CREATE INDEX
                ngk=# explain analyze select * from sync_states where pending order by priority desc;
                                                                         QUERY PLAN
                -----------------------------------------------------------------------------------------------------------------------------
                 Sort  (cost=28.59..28.60 rows=6 width=53) (actual time=0.023..0.023 rows=6 loops=1)
                   Sort Key: priority DESC
                   Sort Method: quicksort  Memory: 25kB
                   ->  Bitmap Heap Scan on sync_states (cost=8.16..28.51 rows=6 width=53) (actual time=0.014..0.018 rows=6 loops=1)
                         Recheck Cond: pending
                         Heap Blocks: exact=6
                         ->  Bitmap Index Scan on ix_sync_states  (cost=0.00..8.16 rows=6 width=0) (actual time=0.011..0.011 rows=6 loops=1)
                 Planning Time: 0.193 ms
                 Execution Time: 0.040 ms
                (9 строк)

                Насколько я понимаю (из https://habr.com/post/330544/), в композитном индексе по столбцам (a, b) все строки с одинаковыми a будут отсортированы по b, то есть для выполнения запроса вида «a = C order by b» достаточно будет просто последовательно (или обратно-последовательно) выдать строки с a = C — что мы и наблюдаем в верхнем примере («Index Scan Backward using ix_sync_states»).
                С индексом «(priority) where pending», по идее, должно быть всё в точности так же — для сортированного вывода нужно просто выдать все строки из индекса в том порядке, в каком он их и выдаёт. Но либо я что-то не понимаю, либо «Postgresql» что-то не понимает — и в итоге получается какая-то питушня.
                Ответить
      • 1) ну прямую (ревизии от клиентов) ты как раз можешь сделать inittially immediate
        2) не забывай delete/update action, жалко что-ли? А то будешь как п*р с*р, которому тяжело в каскад (или его myisam не умел)
        3) обязательно нужно индексировать колонку, с которой уходит ФК констрейнт, ведь когда что-то происходит с целевой таблицей (удоление, к примеру, не то, чтобы это твой кейс, но), СУБД обязана проверить есть ли зависимые записи и что с ними делать - без индекса СУБД вынуждена в фул скан только.
        В данном случае индекс в ревизиях по комент-айди, очевидно, тебе и в селектах будет очень уместен
        4) капс лок в сикеле это как будто из 1970 на тебя наорали
        Ответить
        • Спасибо! Действительно, оба их делать deferred нинужно, не подумал. Окончательные индексы потом будем добавлять, когда отрефакторим код и посмотрим на реальные запросы, но да, по revisions.comment_id индекс однозначно будет.

          > капс лок в сикеле это как будто из 1970 на тебя наорали
          КАКОЙ багор ;;;
          Ответить
    • ПОСОНЫ НЕ КОЧАЙТИ ПЕШУ С УТЮГА:
      http://grep.cs.msu.ru/ISO/Fridman43DATA/
      Ответить
      • Что это такое?
        Ответить
        • Можно погуглить имя директории. Оно довольно уникальное.
          Ответить
          • Капец что делается-то.

            «Утечку допустили владельцы «Билайна» Михаил Фридман и Петр Авен»

            Хорошо, что у меня не «билайн», как вообще можно было свои ПД доверить «Фридману» и «Авену»?
            Ответить
      • никогда такого не было и вот опять

        https://tgraph.io/Uznayom-nomer-telefona-i-adres-populyarnoj-lichnosti-01-14-2
        Ответить
      • База данных Кронос, лол
        Ответить
    • https://git.sr.ht

      Какая няшная убийца гитхаба! Нет йажаскриптов, есть CI c поддержкой plan9, пиары только по почте.
      Ответить
      • Шикарно. У меня от восторга даже пятнышко на штанишках выступило.
        Ответить
    • Команда Rust рада сообщить о выпуске новой версии, 1.48.0.
      Rust — это язык программирования, позволяющий каждому
      создавать надёжное и эффективное программное обеспечение.
      Ответить
    • https://i.imgur.com/RiR95bL.jpg
      Так, кто тут недавно форсил «Kotlin»?
      Ответить
      • Я десять лет делаю Котлин, и последние лет шесть все хотят со мной говорить только про него. Вопросы про Котлин у всех одинаковые, мне жутко надоело на них отвечать.

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

            — Кстати! Я слышал, ты программист на Котли-
            — КОКОКОКО КАК ЖЕ ВЫ ЗАЕБАЛИ КОКОКОКО ДА Я ПИШУ СКРИПТ ДЛЯ ЖВМ И ЧТО??? Я ПО ТВОЕМУ СКРИПТУХ!?!?
            — Котлин-Котлин-Котлин-Котлин!
            — *неистовое кукареканье, не передаваемое письменно*
            Ответить
            • Котлин это не скрипт, точнее есть и скрипт, и не скрипт
              Ответить
        • Бреслав?:)

          Он известный феминист, да.
          Ответить
      • Who the fuck is FRACTRAN?
        Ответить
      • Эх, а Ди нету
        Ответить
        • А он есть? Что-то про него последнее время вообще ничего не слышно.
          Ответить
          • Какие то конфы онлайн проходят. Я и про го/раст/котлин тоже ничего не слышал нового. Видимо если не слушать, то и не услышишь.
            Ответить
            • Про раст, го и котлин тут регулярно пишут. Можешь восполнить этот пробел.
              Ответить
        • «Ответ требует лекции на полтора часа. Но если коротко, то это C++ сделанный правильно. Статьи про него есть на хабре, но уходить в подробности не вижу смысла. Он гораздо удобнее и приятнее для программиста, предлагает более высокую продуктивность при той же производительности. Убийца C++, если хотите, только при этом не rust»

          Он действительно НАСТОЛЬКО хорош? Почему тогда вакансий мало?
          Ответить
          • > хорош

            А это не коррелирует. Какой там язык наиболее популярен для вебсайтов?

            Но для убийцы крестов как-то странно юзать gc. Да и гомоиконность на строках вместо AST выглядит как чит.
            Ответить
            • так-то в крестах есть функции для гц https://en.cppreference.com/w/cpp/memory/gc/declare_reachable
              Ответить
              • к счастью, в крестах нет идиотов, юзающих гц

                гц не нужен.
                Ответить
                • Хм, поюзать то можно было бы, но таких реализаций походу нет.

                  c++/cli разве что, но там своя атмосфера.
                  Ответить
                  • зачем тебе гц?

                    Swift вон например доказал, что можно сделать весьма простой и понятный язык, совсем не для царей и пирдоль, и при этом не трогать гц

                    Да и smart поинтеры вроде бы нормуль работают
                    Ответить
                    • Ну для всякой гуйни где RAII и пирфоманс не важны удобно было бы. weak ref'ы расставлять всё-таки муторно.
                      Ответить
                      • Я когда писил на Objc (а писал я гуйню под UIKit/IOS), то совсем не страдал от расстановок weak ref, потому что у меня всегда была четкая картина в голове у кого на что ссылка, и Apple давал на этот счет четкие рекомендации.

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

                        Так что я вот не очень уверен, что GC дает какие-то волшебные фичи, которые не дают рефкаунты
                        Ответить
                        • > Так что я вот не очень уверен, что GC дает какие-то волшебные фичи, которые не дают рефкаунты

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

                      Каждый раз, когда выходит новая версия Swift, я перекомпилирую и запускаю свою первую программу на нём, которая отрабатывает нормально, но при выходе пробивает дно стека, пытаясь рекуррентно вызвать деструкторы для cons-cells. И, что характерно, до сих пор не пофиксили. Такие дела.
                      Ответить
                      • > первую

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

                  Лол, поюзай CUDA, где надо вручную менеджить память не только хоста, но и девайса, и мувить данные туда-сюда, быстро сменишь мнение на противоположное.
                  Ответить
                  • Эм, да там и RAII вполне норм работает -- циклических зависимостей между буферами нету, глубоко вложенных структур тоже.
                    Ответить
                    • Для этого надо пилить классы, как минимум, или брать их из thrust. Из коробки там только malloc да memcpy.
                      Ответить
                      • А GC там изкоробки и классы пилить не пришлось бы?
                        Ответить
                        • Не понял вопроса. Я не предлагаю использовать GC для CUDA (не взлетит), суть изначального поста была в том, что подзаебавшись от двойной работы с памятью, пользователь MAKAKA научится ценить отсутствие необходимости делать это, когда это не требуется.
                          Ответить
                          • Подзаебавшись от ручного управления ресурсами (не памятью!) в языках с GC, я начал ценить RAII.
                            Ответить
                            • Why not both? RAII в языках с GC делается тривиально.
                              Ответить
                              • приведи пример
                                Ответить
                                • https://hoogle.haskell.org/?hoogle=with
                                  Ответить
                                  • Спасибо
                                    Возможно, мне стоит попробовать хаскель

                                    Но в мейнстримном говне типа джав, питонов и сишарпов всё очень плохо
                                    Ответить
                                    • > Но в мейнстримном говне типа джав, питонов и сишарпов всё очень плохо

                                      Я про этот высер индустрии ничего не знаю и не говорю. Под "языками с ГЦ" я подразумеваю нормальные, практические языки типа `Haskell' и `Erlang'.
                                      Ответить
                              • Х.з., во всех популярных языках какое-то убожество где надо вручную каскадить close через close.

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

                                    Пока я не свалил с ГК, предлагал "скриптушню" с версионированием. Исходный код всегда остаётся, но помечается, от какой он версии (как в HTML страницах), конпелятор преобразует код со старых версий в новые (оверхед покрывается созданием новых процессоров: пока вышла новая версия языка, которую конпелятор конпелирует напрямую, разница в производительности покрывает возможный оверхед от трансляции в новую версию). Соответственно, язык можно целиком редизайнуть, если он скатился в говно, но в одной программе можно использовать несколько пакетов, написанных на разных версиях.
                                    Ответить
                                    • Ну ты примерно описал бейбел и джаваскрипт:)

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

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

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

                                      * variable: Type лучше Type variable
                                      * стат типизация лучше отсутствия оной
                                      * лямбды и кложи нужны
                                      * функциональщина нужна: ``petuhs.where {age > 12}``
                                      * неизменяемые сущности лучше изменяемых
                                      * наследование зло
                                      * ООП далеко не всегда нужно
                                      * для букв нужен отдельный тип, не имеющий с байтами ничего общего
                                      * асинхронность лучше уметь на уровне языка
                                      * пакетный менеджер это полезно, особенно если он явно указывает версии всего, что нужно
                                      * модульность и линковка важна
                                      * профилировщик и дебагер это важно
                                      * юниттесты важны, лучше уметь их из коробки


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

                                          И да, если наследование остаётся, то final должен быть по-умолчанию.
                                          Ответить
                                          • В D все методы в классах по дефолту virtual, это минус. Зато есть сахарок для проксирования полей, что уравнивает агрегирование и наследование (в отличии от плюсов).
                                            Ответить
                                            • > все методы в классах по дефолту virtual, это минус

                                              А запретить наследование можно? Тогда не такой уж и минус, даже джава умеет в девиртуализацию вызовов если класс точно известен.
                                              Ответить
                                              • можно использовать структуры. У них могут быть методы, но нет наследования. А еще в них можно обмазаться RAII.
                                                Ответить
                                      • Ты походу D описал.
                                        * Type variable досталось от сишки, тут минус
                                        * кложи подразумевают гц или аналог, плюс
                                        * функциональщина - petuhs.filter!"a>12" - куча способов для ленивости, плюс
                                        * неизменяемые сущности - модификатор immutable, плюс
                                        * наследование зло, поэтому оставили полузло - только в классах, но не в структурах
                                        * ООП далеко не всегда нужно - никто не заставляет писать классы как в Джаве, плюс
                                        * про буквы не уверен
                                        * асинхронность на уровне языка ограничивает язык и способы реализации (в D есть удобная либа на фиберах), но лучше безобразно, зато единообразно
                                        * пакетный менеджер, плюс
                                        * модульность (настоящая, не как в плюсах) и линковка, плюс
                                        * профилировщиком выступает компилятор, дебагером пока что визуалка или gdb
                                        * юниттесты из коробки, плюс
                                        Ответить
                                • Комитет? Ты еще общедомовое собрание проведи. Имхо, с ростом числа участников, принимающих решения, вероятность единого мнения стремится к нуля. Т.е. уже двое могут не договориться.
                                  Думаю этим можно заодно объяснить отсутствие реальных теорий заговора - каждый будет искать свою выгоду и гадить остальным.
                                  Ответить
                      • > memcpy

                        Везёт, на вулкане даже этого нету. Надо ставить в очередь команду на DMA копирование.
                        Ответить
          • может потому что проектов мало, или ниша не нашлась (между плюсами и джавой судя по всему), или нет корпорации, которая его бы пиарила.
            Кстати а что с гугловским Dart?
            Ответить
            • Скорее всего последний вариант. Хотя вот я не знаю... По идее, если язык действительно очень хороший, то рано или поздно найдётся ведущий программист / чувак-стартапер, который скажет: «Оптимальным для этой задачи будет язык D». Если проект окажется успешным, то и другие ведущие программисты подтянутся.

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

              Или сейчас это уже не так?
              Ответить
              • С каждым годом лучше, косяки исправляются, кол-во разрабов самого компилятора растет.
                Но судя по списку компаний https://dlang.org/orgs-using-d.html пока его используют для разных тулз (кроме Weka). Т.е. как я ранее и писал - он отличная статически типизированная замена питону (похож на плюсы и не такой урезанный как Го), но никак не вместо плюсов в больших проектах.
                Ответить
                • Ну вот срачик про weka я как раз и читал. Они там чуть ли не рейжквитнуть и переписать на пхп собирались. Но видимо всё-таки удалось запинать баги.
                  Ответить
                  • там вроде так и остались на первой версии языка, которую после выхода второй в 2007 году перестали поддерживать.
                    Ответить
                    • Какое legacy )))
                      Ответить
                      • Походу если твой проект имеет 200К строк на неудачно выбранном языке, то переписывать его будет дорого. А если еще и с точки зрения менеджеров продукт нормально работает, то никто не поставит задачу про переписывание.
                        Ответить
                        • А когда перфомансный петух клюнет, уже поздно будет переписывать, поэтому встанет вопрос о написании транслятора с неподходящего языка на подходящий.
                          Ответить
                    • И рантайм сами переписали, походу.
                      Ответить
                      • А кто его не переписывает под свои нужды? Кажется кто-то упоминал, что std контейнеры и алгоритмы в UEFI нельзя использовать из-за исключений.
                        Ответить
                        • Ну х.з., в том же расте хотя бы пытались отделить платформу от рантайма. Не знаю насколько успешно.

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

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

                    https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/
                    Ответить
                    • прикольный язык всё таки
                      function setVerticalAlignment(pos: "top" | "middle" | "bottom") {
                          // ...
                      }
                      
                      setVerticalAlignment("middel");
                      // error: Argument of type '"middel"' is not assignable to


                      система типов хорошая
                      Ответить
                      • vanished. Да, хорошая.
                        Ответить
                      • тперь можно так
                        type vertical = 'top' | 'bottom'
                        
                        type horizontal = 'left' | 'right'
                        
                        type positional = `${vertical}-${horizontal}` // "top-left" | "top-right" | "bottom-left" | "bottom-right"
                        Ответить
                        • А чем это лучше вот этого:
                          enum Vertical {
                              TOP, 
                              BOTTOM
                          };
                          
                          enum Horizontal {
                              LEFT,
                              RIGHT
                          };
                          
                          struct positional {
                              Vertical vertical;
                              Horizontal horizontal;
                          };


                          Ладно, пока писал, понял чем лучше. А ещё?
                          Ответить
                          • А еще тем, сколько ты буковок ненужных написал
                            И тем, что типизацитя структурная
                            Ответить
                          • Вместа ответа на вопрос я попрошу описать тебя енумами вот этот тип
                            type notReallyPositional = Exclude<positional, 'top-right'> //  "top-left" | "bottom-left" | "bottom-right"
                            Ответить
                            • Можно было бы наметушить, конечно, но я анскильный и не сумею (думал в сторону static_assert в конструкторе).

                              Такая система типов очень даже хорошая, но можно схитрить и реализовать её на плюсах с помощью сетов, т.е. написать свой кококонпелятор тайпскрипта.
                              Ответить
                              • на крестах можно наметушить действительно, на всяких анскильных языках типа джав остается только запить холодной водой
                                Ответить
                                • Иногда лучше жевать чем метушить.
                                  Ответить
                                  • заметь, как это красиво и изящно решил тайпскрипт питух.
                                    Ответить
                      • Вы случайон не TipeScritp middel?
                        Ответить
      • Есть нексколько областей, в которых котлин обосрался. Но в целом он много приятнее джавы
        Ответить
        • Котлин, вроде бы, с помощью llvm могёт компилироваться в машинные коды? Если он прост как джава, совместим с джавой, да ещё и компилится, то джава нинужна.
          Ответить
          • могет, есть kotlin native, но я не уверен, что ты этого хочешь. Это будет нестабильное урезанное говно и еще небось с гц

            >джава ни нужна

            ну, кому-то JVM нужен. А кто-то под андроид пишет.
            На kotlin это делать приятнее, чем на Java почти всегда, кроме корнер кейсов
            Ответить
    • «Starlink» заебал. Просто взял, блядь, — и заебал!
      Ответить
    • Собираем знакомым десктоп. Мон, БП, корпус и прочая питушня уже есть (остались от старого).

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

      Думаем так:
      Comet Lake i3-10100. По тестам он не шибко хуже моего рабочего 8700k. У кометов некоторые процы идут без видяхи, так что тут важно не абебаться, но конкретно этот имеет UHD 630, она очень даже годная.

      Мамку на B460 (Самый дешевый чипсет из 400й серии), например Asus PRIME B460M. В ней ниухяч нет почти (mATX), ну и похуй. Внезапно нет hdmi, есть только dvi-d, но опять же похуй: втыкнем переходник.

      ddr4 две планки по 4, корсар. Можно и две по 8, там не большая разница. Частоту не смотрел, ну 2666 наверное

      ssd nvme на 256 plextor. Десятке более чем достаточно места, и на винду, и на рекавери поинты.

      Получается порядка двадцати штук с хвостиком.

      Думаете, на AMD было бы дешевле?
      Ответить
    • Всё таки кресты со своими "если конструктор упал, то и деструктор не вызывается" и "const поля должны проставляться в инициализации" это великая вещь.

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

      Джаваёбы такие пафосные поборники ООП, а всё равно плодят гадобжекты
      Ответить
    • https://lenta.ru/news/2020/11/23/nalog/

      Президент России Владимир Путин подписал закон об увеличении с 2021 года ставки налога на доходы физических лиц (НДФЛ) до 15 процентов для богатых граждан, чей годовой доход превышает пять миллионов рублей. Документ опубликован на официальном интернет-портале правовой информации.

      Петух, а ты богатый, петух?
      Ответить
      • охуенно богатый питух с зп чуть больше пяти штук баксов

        прям абрамович
        Ответить
        • если кроме зп ничего, тогда ты не щитаешься богатым
          Ответить
      • http://publication.pravo.gov.ru/Document/View/0001202011230015?index=1&rangeSize=1

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

          надо теперь лезть в консультант/гарант
          Ответить
          • Была статья про законы в гите https://github.com/steeve/france.code-civil , https://github.com/bundestag/gesetze
            Ответить
          • короче пока нихуя не понятно
            в законе про сумму налоговых баз

            если работник работает в ООО Рога за 208.334,00 и ООО Копыта за 208.334,00, к концу года у него 5.000.016,00 дохода суммарно
            кто из налоговых агентов теперь должен заплатить "добивание до 650т.р." отдельной платежкой и 15% налога с суммы, превышающей, отдельной
            не понятно
            Ответить
            • Ну и хуй с ним. Пойди с ребятами обсуди бейсик в соседнем треде.
              Ответить
            • > 016

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

                  либо ни рога, ни копыта не в курсе, и тогда заплатить новый налог становится обязанностью гражданина по 3-НДФЛ к апрелю (хз, дичь какая-то),

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

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

                    Кстати, налог на вклады тоже ведь по такому принципу будет работать. Пофиг, сколько у тебя банков и как между ними разбито.
                    Ответить
                    • ну налог со вклада теоретически может сам рос. банк удерживать, как налоговый агент
                      (но это не точно, это же тоже какая-то охуенно новая тема про налоги с вкладов)
                      Ответить
                      • Я бы сделал, чтобы физ лицо само платило 2% налог свыше 5 лямов. А иначе как?
                        Ответить
                      • > сам банк

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

                        Возможно и здесь подобная хуйня будет. В принципе, вся статистика по зарплате у налоговой есть...
                        Ответить
              • Откуда «Рога» знают, сколько работник получает в «Копытах»?
                Ответить
    • gost, так что ты в итоге сделал, чтобы к тебе тащ майор не приходил?
      Ответить
      • up
        Ответить
        • А зачем к нему майор должен был приходить?
          У него же хостинг в цифровом океане плавает под тонкой плёнкой claudflare, не?
          Ответить
          • Чтобы не заблокировали. А перед этим просят удодить, сами же писали.
            Ответить
    • https://www.pornhub.com/jobs/job/software-developer-php/

      Date Posted:
      Posted 3 years ago

      Expiration date:
      December 31, 2020

      Что, никто не хочет? Или пхп-программист - зашквар?
      Ответить
      • Да там в php части то поди ничего интересного, хайлоад всяко не через пых раздаётся.

        З.Ы. Кстати, то ли они то ли ещё какой-то порнушный сайт -- один из самых крупных юзеров haproxy.
        Ответить
      • не, на пхп не пойду, стыдоба же
        Ответить
        • Я тоже. Как я маме потом скажу чем занимаюсь?
          - Мам, я на пхп пишу
          - Стыдоба какая. Ты мне больше не сын
          Ответить
          • --ты где работаешь?
            --в порнхабе
            --фууу
            -да я не программистом, я модель
            --а, ну ты не пугай так
            Ответить
      • ввел в гугл "pornhub github" и нашел "Github Porn Videos"
        боюсь смотреть
        Ответить
        • И правильно делаешь, потому что как-то раз порнхаб слил юзеров, которые логинились через ВК. Ну, не слил, их просто вычислили кое-каким методом (можно проверить, использует ли пользователь конкретное приложение).

          Именно поэтому я за DojkiOnlinefreePornNoSMSRussianSex.com
          Ответить
          • я не логинюсь через вк, у меня и Вк-то нету

            Я открываю inspect element, удаляю какой-то ненужный div, и теку
            Ответить
            • А я сижу через VPN, чтобы провайдер не показывал пальцем и не говорил сисадминам: «ха-ха смотрите опять зашёл! надо бы записать его IP в файл Dpo4uJlbl.txt».
              Ответить
              • уверен, что на ph ходит 100% клиентов моего прова, или чуть меньше
                Ответить
                • Представляешь как ему весело на работе?
                  Ответить
                  • у меня знакомый в прове работал, и грил что бОльшая часть траффика это порнуха
                    Но это было давно. Сейчас вроде бы бОльшая часть это вконтакт, потому с ним все хотят пирица
                    Ответить
                    • гледи, опять пирится
                      бабу себе заведи, фрилансер
                      Ответить
                    • > бОльшая часть это вконтакт

                      Дык там поди тоже порнуха.
                      Ответить
                      • З.Ы. Пирацкую музыку то прикрыли поди уже там?
                        Ответить
                        • В рашке поди уже всё прикрыли?
                          Ответить
                        • Ещё нет, но иногда некоторые аудиозаписи удаляют (в списке числятся, но послушать уже нельзя, приходится искать перезалив).
                          Ответить
                          • зачем музыка в ВК, когда можно с торрентах качать в качестве лосся?
                            Ответить
                            • Не вся музыка есть на торрентах, наверное. А может и вся.

                              Наверное, ещё с sound cloud можно как-то выкорчевать песенки, так что в принципе ВК действительно нинужен.
                              Ответить
                              • на крайняк есть youtube
                                Ответить
                                • Youtube уж точно менее удобный, чем VK или торрента + SC.

                                  Тем более, там вроде бы звук отсосный.

                                  https://audiophilesoft.ru/publ/my/youtube_audio_quality/11-1-0-285

                                  В ВК, конечно, тоже не всё хорошо, но хотя бы пердолиться не надо, плюс плеер относительно удобный в отличие от ютюба.
                                  Ответить
                                  • > Тем более, там вроде бы звук отсосный.
                                    > youtube_audio_quality
                                    Лично я не чувствую чего-то плохого в MP3 128kbps, ну может пару нахрюков в специально подготовленных профессионалами треках, если специально вслушиваться, а в MP3 192kbps уже точно изъянов не найду, поэтому звук в 720p и выше на Ютубе для меня уже достаточен (в 480p и ниже уже в некоторых роликах заметна питушня).
                                    Ответить
                                    • >в 480p и ниже уже в некоторых роликах заметна питушня
                                      а у меня когда-то был резолюшен такой: 640x480. На 14" CRT заходил ок
                                      Ответить
                              • чего нет на торрентах - для того есть soulseek
                                Ответить
                            • Это да. Не важно, скачать в интернетах без СМС и регистрации или купить CD, но музыка должна лежать локально, чтобы можно было её слушать как в лесу или с ограничениями могильного интернета, так и при условии залефтпадивания сервиса.
                              Онлайн-питухи - только для поиска питушни, которая тебя радует.
                              Ответить
                              • Я с тобой полностью согласен.

                                Если твои данные в облаке – ты ими не владеешь по-настоящему.

                                Как-то раз у Mega была акция, 50 Гб места при регистрации нового аккаунта. Я три аккаунта завёл, а через месяц, если не оплачу pro-план, всё свыше 15 Гб удалится )))

                                Я, кстати, всё хочу на питухоне скрипт написать, чтобы названия групп и песен импортировать как списочек, чтобы потом всё найти в инторнете и скачать, но всё руки не доходят.
                                Ответить
                                • > скрипт написать, чтобы названия групп и песен импортировать
                                  Пора писать, а то на том же ютубе вместо потёртых видео отображается только "видео удалено" и указывается не его название (полезная информация), а причина удаления. Список песен можно потерять в любой момент.
                                  Ответить
                              • Именно поэтому я за «Emby» «Jellyfin» с подключенным облачным диском. На мобилке закачиваешь что нужно в оффлайне и течешь, а в ноут втсавляешь диск побольше, синхронизируешь, и тоже течешь.
                                Ответить
                                • Еще я за нормальные блядь клиенты облачных дисков под линукс, потому что есть только odrive, и тот автоматом ничего не скачивает, только плейсхолдеры лепит. И еще за какой-нибудь несуществующий клиент, которому задаешь passphrase, а он в облако заливает заэкрипченные файлы с заэнкприченными названиями.
                                  Ответить
                                  • был же сто лет назад какой-то проект, который бил файлы на чанки, криптовал и забрасывал на много разных облачных драйвов с избыточностью, чтобы на уровне fuse собрать в нормальные файлы

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

                                      > был же сто лет назад какой-то проект

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

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

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

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

                      Блин, а ведь охуенная мотивация для курсов!

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

                          Изучи все уровни абстракции в современной вычислительной технике вместе со своими любимыми порно-моделями.
                          Ответить
                          • А был же такой проект nand2tetris, как раз про это:)
                            Ответить
                            • Ну да, а тут заодно можно рассказать о сжатии изображений, устройстве видеокамеры, сетях, хайлоаде и базах данных...
                              Ответить
                          • вот с транзисторами я порно пока не видел
                            Ответить
                            • Какая разница с чем? Хоть с реле. Будет же работать, просто медленно
                              Ответить
      • Кстати, в России и в Беларуси распространение порнографии – это преступление. Могут как соучастника привлечь, а ещё добавить:

        1. Педофилию (хентай на этом сайте точно есть).
        2. Пропаганду геев.
        3. Экстремизм (там были фильмы Навального).
        4. Ненависть к ниггерам.
        5. Да и вообще что угодно. Мало ли какие там видео есть...
        Ответить
    • https://www.roi.ru/71821/
      Ответить
      • За инициативу подано: 158 голосов
        Против инициативы подано: 348 голосов

        фух, выдохнул
        Ответить
      • https://www.roi.ru/71892/

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

          вот это охуительно
          Ответить
          • Я тоже если насилую женщин, то только беременных.
            Ответить
            • Я сначала подумал, что это написал guest3, и уже было собрался поставить минус, но пригляделся повнимательнее – поставлю плюс.
              Ответить
              • Сразу видно, что ты диск-рет-ный ма-те-ма-тик из раш-ки.
                Ответить
                • Да, меня очень напрягает, что в дискретной математике есть всего два состояния, а у комментов их три: «+1», «-1», «undefined». Когда я вижу коммент, который не оценивал, у меня начинает дергаться глаз.

                  С такими штуками (заёбами), кстати, лучше не шутить:

                  https://www.the-village.ru/people/experience/368127-sindrom-turetta

                  «У меня недолго было что-то похожее на копролалию. В тот период я много играл в видеоигры. Один раз в процессе игры что-то случилось, и я заорал: «Говно!» Мне понравилось, и я стал делать это часто, но потом понял, что это дурость какая-то. Соседи начали хохотать за стеной. Я смог подавить этот позыв, так как он был не очень сильный»
                  Ответить
            • Это шутка для математиков?

              можно перефразировать как "только с семью головами" или "только с планеты из созведия кентавра"

              В любом случае получится истина, верно?
              Ответить
              • Верно.
                Импликация "0 -> что угодно" - всегда истина.
                Ответить
    • Вот допустим я провожу некие действия с матрицей, мне нужно пробегать по индексам.

      Что делать, если у меня где-то не получается от 0 до N (и наоборот) пробежаться из-за ограничений size_t? Переходить на int? Это же зашквар. Или, если очень хочется, то можно и int вместо size_t?
      Ответить
      • у тебя размерность больше size_t? как же компилятор туда достанет?
        Ответить
        • Нет-нет.

          Я очень хитрым способом обхожу матрицу.

          Сначала, например, for (j = N; j > 0; j++), а потом ещё пару раз вложенно прохожу по индексам.

          Под ограничениями size_t я имею в виду то, что может переполниться счётчик при декременте, поэтому не всегда получается, например, пробежаться от 3 до 0: либо от 4 до 1, либо от 3 до 4,294,967,295.
          Ответить
          • for (size_t i = left; ; i += d) {
                matritza[i][i] = 42;
                if (i == right) {
                    break;
                }
            }
            Ответить
            • Ой, там, естественно, j--. Я, конечно, анскильный, но не настолько )))

              В принципе, если расставлять правильно ифы, то не так уж всё и страшно, но код становится сложнее, такое мне не по нраву.
              Ответить
              • Если не нужно упираться в перформанс, то используй int64. Если нужно, то используй ифы аккуратно.
                Ответить
      • в смысле не получается от 0 до N с помощью size_t
        у тебя матрица не в оперативной памяти хранится?
        Ответить
        • > (и наоборот)

          Штука в том, что иногда, чтобы в обратном порядке красиво пройтись по индексам массива, например, от N до 0, счётчик обычно приходится декрементить в -1:

          for (int j = N; j < 0; j--)

          С size_t в этих случаях так не получится сделать. В таком случае тип меняют на int и текут, или есть какие-то трюки (быть скилльным), чтобы всё было нормально?
          Ответить
          • Ну вероятно ты можешь использовать int, если ты гарантируешь, что никогда не обратишься к массиву по индексу менее 0 и более size_t
            Ответить
            • Это, конечно, само собой разумеется.

              Вообще, я не думаю, что мне понадобится когда-либо матрица с индексами в size_t, так что int меня вполне устроит. Даже short устроит )))

              Просто хотелось бы быть скилльным и для размерностей и индексов использовать size_t, а для какого-нибудь матана в целых числах – int. Или это всё питушня и я себя накрутил?
              Ответить
          • if (N > 0) {
              size_t j=N;
              do {
                j--;
                body;
              } while(j > 0);
            }


            Да, пердолинг.
            Ответить
          • for (int j = N; j > 0; --j) {
             a[j-1] = 100500;
            }


            N недостижимый индекс должен быть, "end"
            Ответить
            • Прочитал этот код. Как будто ничего до этого не знал про программирование. Как будто пил из кружки без дна и с запаянным верхом.
              Ответить
              • в некоторых древних языках есть rbegin(), rend(), чтобы меньше думать
                Ответить
                • А вот реверс-адаптера для с++11 фора почему-то не завезли. Только в бусте такой есть.
                  Ответить
                  • редкий случай, когда я за пайтн: ``reversed``
                    Ответить
                    • Реверсед не копию возвращает, просто итератор?
                      Ответить
                      • ага)
                        >> reversed(list())
                        <list_reverseiterator object at 0x7f1c56cceef0>


                        копию было бы не интересно
                        Ответить
      • матрица разряжена или заряжена?
        Ответить
      • Есть еще ssize_t, который может быть отрицательным.
        Ответить
        • Пишут, что эта питушня не портатабельная и не входит в стандарт. Да и наибольшее signed целое всегда будет меньше наибольшего unsigned целого. Мне хочется, чтобы всё было по-умному и для размеров всякой питушни использовался unsigned.
          Ответить
          • Всегда выставляю "unsigned" в MySQL для числовых полей.
            Ответить
    • https://habr.com/ru/company/vdsina/blog/528622/

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

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

              З.Ы. Бля, сплошной фрейдизм в этой вашей электронике.
              Ответить
              • Членов этого сайта тоже тянет к дырочкам )))
                Ответить
      • [quote]
        Хватит обманывать самих себя — работник и работодатель ни разу не равноправны в своих отношениях. Это как ЧСВ должно зашкаливать, чтобы не понимать этого?
        [/quote]
        да почему, блин? Рабство отменили, вроде. Если работодатель говно, то у него можно просто не работать.

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

          Ну да, это правда. Работник в любой момент может написать заявление, взять отпуск на 2 недели и съебать в закат. А вот работодатель так просто расстаться с работником не может.
          Ответить
    • > Роскомнадзор опять обнаружил, что Google не удаляет из поисковой выдачи запрещенную информацию
      Та шо ж такое! Опять!

      На самом деле вполне себе удаляет, на «Люмене» приличное количество выполненных запросов от «Роскомнадзора». Но, видимо, плохо стараются.
      Ответить
      • Безобразие! Куда только смотрит правительство?
        Ответить
        • Оно смотрит тебе в карман!
          Ответить
          • Какой ужас! В «Интернет» заходят дети, они могут в «Google» увидеть слово «хуй», а правительство вместо того, чтобы блокировать неприличные результаты, смотрит ко мне в карман! Сталина на них нет!
            Ответить
    • > 23 ноября, 10:15
      > Жителям Приморья пообещали возвращение воды и тепла в течение суток

      Ну как, возвратили?
      Ответить
      • Снег подтаял – это вода вернулась. Тепло, вроде бы, тоже каждое утро возвращается.
        Ответить
    • Петухи, приведите реальные примеры, когда нужно указывать в requests сертификат?
      requests.post(url, data=data, verify='/path/to/cert')
      Ответить
      • Либо серта нет в дефолтных доверенных (ты его сам сгенерил, к примеру).

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

            Подними себе сервак с самодельным сертом и будет тебе реальный пример.
            Ответить
            • А почему его нету в дефолтных доверенных? Нахуй так делать? Чтобы только в локалке работало?
              Ответить
              • Нахуя создавать зависимость внутренних сервисов от каких-то внешних пидоров?

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

                    З.Ы. На венде им через AD, конечно, прилетит, но не суть.
                    Ответить
                    • Не, не я. Спасибо за ответы.
                      Ответить
                    • Ты за столько лет не научился отличать меня от иньё?
                      Не стыдно тебе?
                      (или это не инью? он вроде на питоне не пишет)
                      Ответить
                    • >На венде им через AD, конечно, прилетит, но не суть.
                      Вот только requests в питоне ходит с certifi (базу CA, попиленную у FF), и а на виндохранилище (куда прилетит серт от CA из AD CS) ему насрать.
                      Ответить
                • Получишь, если админ догадался для локальных сервисов сделать имя

                  local.myrealdomain.com

                  а не myrealdomain.local, как это обычно
                  Ответить
                  • Ну и ради этого поднимать фейковый сервак, который летсенкриптовская хуйня сможет проверить?
                    Ответить
                    • NATнуть тебя наружу один раз, и всё. А вот как обновлять -- это вопрос. Тут да, придется подымать фейковый сервант, и потом по rsync какому нить подкладывать на реальный сервак подписанное говно
                      Ответить
                      • Или можно не пердолиться (программистам не платят за пердолинг, это работа админов), а просто сделать себе серт попросить админа сделать серт.
                        Ответить
                        • Обратитесь к администратору.
                          Ответить
                          • ну кстати у виндового CA можно попросить серт мышкой через визард прямо из IIS, но нужно настроить PKI. Алсо, есть же прот (acme? acne?), через который работает леценкрипт, так что наверное и там такой же
                            Ответить
                            • > можно попросить серт мышкой через визард прямо из IIS

                              Тяжела и неказиста жизнь простого виндузиста.
                              Ответить
                              • Да нет, можно и с командной строки попросить через certreq, достаточно просто "19 minutes to read"

                                https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1

                                Есть еще какой-то COM итерфейс вроде..

                                ps: перепутал тулы

                                pps: о, мое любимое

                                https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/certreq_1

                                рекуестфилеин
                                рекуестфилеаут
                                рекуестфилеаут
                                фуллреспонсефилеаут
                                полицисервер
                                Ответить
                    • Может, он уже есть. Скажем, есть pethu-inc.com, на http://pethu-inc.com располагается публичный сайт для клиентов, а в локальной сети находятся http://git.pethu-inc.com и http://porn.pethu-inc.com со служебными ресурсами. ЛетсПитун выдаёт сертификат на *.pethu-inc.com, и все счастливы.
                      Ответить
                      • Ты же не хочешь локальный сервер и публичный сервер держать на одном сервере и с одним приватным ключом?
                        Ответить
                        • > держать на одном сервере и с одним приватным ключом?
                          Почему бы и нет?

                          > держать на одном сервере
                          Можно и на разных, а файл с подписанным сертификатом - копировать.

                          > с одним приватным ключом?
                          Можно либо не использовать *.pethu-inc.com на http://pethu-inc.com (HTTP для сайта-визитки хватит всем), либо просить *.pethu-inc.com для внутренней питушни и pethu-inc.com для сайта.
                          Ответить
                          • >Почему бы и нет?
                            не секурно

                            >Можно и на разных, а файл с подписанным сертификатом - копировать.
                            не понимаю. Подписывают же твой публичный ключ, стало быть и приватный у них должен быть обший

                            >либо просить *.pethu-inc.com для внутренней питушни и pethu-inc.com для сайта.

                            да, так можно: иметь два серта: один для внутреннего, другой для внешнгего
                            Ответить
                            • > не секурно
                              Так там же все модные алгоритмы десятилетия.

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

                                это как дать одинаковый пароль бухгалтеру и курьеру
                                Ответить
      • > verify='/path/to/cert'
        Это сертификат сервера?
        А сертификат клиента как можно указать? (чисто из любопытства спрашиваю)
        Ответить
        • cert=('my.cer', 'my.key')
          Ответить
          • Что такое сертификат клиента?
            Ответить
            • чтобы клиент мог аутентийифироваться у сервера.

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

                Каждый клиент генерит серт, как сервер знает, что им можно доверять?
                Ответить
                • CA выдает каждому клиенту сертификат

                  Сервер доверяет этому CA

                  Теперь когда клиент приходит, и говорит "Я CN=Petuh,DC=company,DC=com" -- сервер может ему доверять.

                  Далее, сервер может:
                  * залогировать факт прихода питуха
                  * разрешить доступ только петухам с сертификатами из "DC=company,DC=com"
                  Ответить
                  • > Теперь когда клиент приходит, и говорит "Я CN=Petuh,DC=company,DC=com" -- сервер может ему доверять.

                    Если CA выдаёт серт любому питуху, то как же я могу ему доверять? Это тогда нужен свой CA.

                    > разрешить доступ только петухам с сертификатами из "DC=company,DC=com"

                    Приведи реальный пример сервера, который так делает.
                    Ответить
                    • >Если CA выдаёт серт любому питуху
                      почему любому?

                      CA может у тебя паспорт спросить

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

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

                      выглядит это так
                      https://www.igorkromin.net/fp-content/images/osx/dblclickssl/dblclickssl1.png
                      Ответить
                      • > выглядит это так

                        Чем это лучше передачи (логин, пароль) или токена? Чтобы не ебаться с куками, сессиями, и браузер сам на каждый запрос посылал серт / подписывал?
                        Ответить
                        • Лучше примерно тем же, чем и ssh ключи лучше паролей.

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

                          > с куками, сессиям
                          Причем тут они?

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

                          Вот тебе задачка. Ты админ. У тебя в компани 80 пользователей.
                          Команда одних веб питухов сделала сайт, и просит пустить туда только Петю и Васю, а Колю сделать админом.

                          Команда других веб петухов тоже сделала сайт, и просит пустить туда Васю и Колю.

                          Пользователи сидят кто дома, кто на Гоа, кто в офисе.
                          У кого-то Linux, у кого-то Windows, у кого-то Mac, так что AD с керберосом идет лесом.
                          Ответить
                          • Если веб питухи Колю могут сделать админом, значит умеют раздавать роли, значит могут сделать роль "нет доступа вообще" для остальных 77 пользователей.

                            А если на сайте вообще нихуя нет, то проще через nginx дать логин/пароль Пете, Васе и Коле.
                            Ответить
                            • Как они могут аутентифицировать колю?
                              Как они отличат колю от не коли?

                              >дать логин/пароль
                              1. Пароли не секурно.

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

                              Если у тебя 10 пользователей и 5 серверов, то у тебя в 50 паролей?
                              А если колю уволят, то вручную по всем сераерам пройти и удалить его?

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

                                  Веб питух внесёт в конфиг nginx фиксированный логин и сгенеренный пароль.

                                  А если он ставит одинаковый пароль на Фейсбуке и левых говносайтах в интеренете, то ничто не помешат запостить хуец владельцу говносайта.
                                  Ответить
                                  • >Так пароль не Коля будет ставить.
                                    Еще лучше. Ты хочешь, чтобы от имени Коли мог работать тот, кто поставил ему пароль? Очень круто, если Коля это гендир.

                                    >А если он ставит одинаковый пароль на Фейсбуке и левых говносайтах в интеренете,

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

                                    Алсо, что делать, если я спиздил колин пароль? На десяти серверах его снова менять и заставлять колю учить?
                                    Ответить
                                    • Чем спизденье пароля отличается от спизденья файла сертификата? Повторюсь, что про секьюрность я понял. Меня интересуют другие плюсы/минусы.
                                      Ответить
                                      • >Чем спизденье пароля отличается от спизденья файла сертификата?

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

                                        Кроме того, как быстро удалю колю отовсюду?
                                        А серт я могу отозвать


                                        >Меня интересуют другие плюсы/минусы.
                                        Ну минус сертов в настройке PKI: нужен админ со скиллами выше эникея.

                                        Плюс в централизованой аутентификации.

                                        Я могу сказать "даю доступ к файлам Коле" не зная его пароля
                                        Ответить
                                      • ты кстати на свои сервера на работе по ssh ходишь? у тебя пароль или ключ?
                                        Ответить
                                        • Ключ.
                                          Ответить
                                          • Удобно было бы тебе иметь вместо этого пароль на каждом сервере свой?
                                            Ответить
                                            • Если кто-то хочет дать мне доступ к серверу, то он заносит мой публичный ключ на этот сервак.
                                              Ответить
                                              • Верно.
                                                А публичный ключ твой можно опубликовать ан внутреннем сайте

                                                Я просто копирую его оттуда, и даю тебе доступ без паролей.

                                                TLS примрено так же и работает, но там еще есть подпись сертификата. Его можно отозвать

                                                К сожалению, https и SSH ключики не совместимы((
                                                Ответить
                                              • Есть еще одно решение, которое используется в сетях microsoft: AD на основе протокола Kerberos.

                                                Там коля аутентифицируется один раз на сепц сервере, и далее может попросить у него токен для доступа к сайту

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

                                                Но хорошо это работает только внутри офиса и только с виндой. А если ты удаленный пользователь Linux, то будет боль.

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

                                  >При увольнении тоже нужно удалить серт из доверенных.
                                  Ты отзовешь его серт. Знаешь про crl или ocsp?
                                  Ответить
                                  • > отзовёшь серт

                                    Удалю из списка login=kolya,parol=hdhdgjgjffdd
                                    Ответить
                                    • 1. из всех десяти серверов? А когда он завтра вернется -- снова добавишь?
                                      2. hdhdgjgjffdd это так же его пароль от фейсбука.
                                      3. Если нет, то коля его или забудет, или запишет на бумажке и его спиздят
                                      4. придется еще заставлять его менять пароль
                                      Ответить
                                      • Я спросил чем это лучше кроме секурности. Про это я понял.

                                        1) Десяти серверов одного сайта? Когда ты меняешь nginx конфиг, ты вручную ходишь на все 10 серверов?
                                        2) Пароль устанавливает не Коля, а веб питух. Сгенеренный, и даёт Коле. Откуда он знает пароль от фейсбука?
                                        Ответить
                                        • Простотой управления. Ты можешь отключить пользователя в один клик на всех серверах.

                                          1) нет, я использую configuration as code. Если я зашью туда пароль, то мой пароль будет прошит на куче серверов, что не секурно и не удобно менять
                                          2.1) Коля как запомнит этот праоль то?
                                          2.2) А дальше веб питух от имени коли заходит в этот сервер, и повышает себе зарплату (мы помним, что коля это гендир)
                                          Ответить
                                          • В твоей изначальной задаче нужно дать разным людям доступы на разные сайты. Где ты видишь и хранишь список кто куда имеет доступ?
                                            2.1) Тут согласен. Он запишет на листочке, и его спиздят.
                                            2.2) Веб питух и так имеет полный доступ к серверу.
                                            Ответить
                                            • >Где ты видишь и хранишь список кто куда имеет доступ?

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

                                              >2.2) Веб питух и так имеет полный доступ к серверу.
                                              не факт, что у веб питуха есть доступ к продакшен базе.
                                              Он сделал докер образ, и админские скрипты его выложили
                                              Ответить
                                              • 2.2) Я понял. Если пароли одинаковые на зарплатном сервере и на сервере с котиками, то веб питух получит доступ ко всему от имени всех. А разные пароли не удобно делать.
                                                Ответить
                                                • Да, именно так.

                                                  Кроме того, запоминать неосмысленные пароли qsoiudrh2u3ghiu23g4 трудно, легко запоминать только осмысленные типа [wife_name]123, но такие пароли легко подобрать
                                                  Ответить
                                              • > админские скрипты его выложили

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

                                                  Есть такие кейсы, когда не имеют. Везде по разному.
                                                  Ответить
                              • > Если у тебя 10 пользователей и 5 серверов, то у тебя в 50 паролей?

                                1. Складывать хэш в БД и всем им пользоваться.
                                2. Если у всех веб-ресурсов разный хэш, повесить на смену пароля скрипт, который хэширует его разными способами и добавляет в 5 мест.

                                >>>2.2) Веб питух и так имеет полный доступ к серверу.
                                >>не факт, что у веб питуха есть доступ к продакшен базе.
                                >>Он сделал докер образ, и админские скрипты его выложили
                                >2.2) Я понял. Если пароли одинаковые на зарплатном сервере и на сервере с котиками, то веб питух получит доступ ко всему от имени всех. А разные пароли не удобно делать.

                                Если раскатывать сервер админскими спкриптами, вебтух сможет получить пароли только через свои бэкдоры. Таким образом, если принимать только прочитанные адекватным человеком пулл-реквесты или поместить сервер в огороженную от вебтуха зону (секретная база, например), то вебтуху придётся сильно попотеть.
                                Ответить
                                • P.S. Я не против сертификатов клиента, просто работу с паролями можно тоже организовать на достойном уровне.
                                  Ответить
                                  • пароли сломаны не на техническом уровне, а выше: либо у меня 1 пароль на 20 сервисов, на одном спиздили и поимели меня, либо у меня 20 паролей, и тогда и я их забываю или пишу на бумажке и их тоже пиздят
                                    Ответить
                                • >1. Складывать хэш в БД и всем им пользоваться.
                                  и все сайты настраиваешь чтобы они в бд ходили?

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

                                    На что только не пойдут любители паролей, лишь бы PKI не изучать.
                                    Ответить
                                    • Это же 1024. Какое бы у человека ни было мнение, у 1024 всегда будет противоположное:)
                                      Ответить
                                      • Надо же как-то поддерживать дискуссию!
                                        Ответить
                                    • Стоит отметить, что эти 5 мест должны поддерживать PKI.
                                      Ответить
                                  • > и все сайты настраиваешь чтобы они в бд ходили?
                                    Да. А что такого?

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

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

                      Госуслуги по токену почти похожим принципом работают, да хули, любая авторизация с usb-токеном она про это.

                      Вот в хттпс встроена возможность 2-way ssl. То, что ты не юзал, не значит, что никто не юзал. В ту же кавку заебись клиентов по их сертификату пускать, например.
                      Ответить
                    • > реальный пример

                      Налоговая, госуслуги, торговые площадки и т.п.

                      Серт выдаётся аккредитованным CA по паспорту или докам на контору. Иногда в нём и твои права написаны (что ты бухгалтер такой то конторы, к примеру).

                      В результате серваку не надо по каким-то сторонним каналам проверять эту инфу. Он просто читает инфу из серта и течёт.

                      Причём один серт ты можешь юзать на куче разных серваков (к сожалению на практике всё-таки нужно 3-4 серта, но прогресс есть).
                      Ответить
                    • > Приведи реальный пример сервера, который так делает.
                      Не получится. Для демонстрации надо выдать сертификат, а для петху из интернетов этого не сделают.
                      Может быть, Борманд со скуки поднимет свой такой сервер и CA ради развлечения, но это неточно.
                      Ответить
                      • сделай с помощью easy-rsa один root-ca (можно даже sub-ca не делать) один server-cert, один client-cert, и теки
                        че сразу гитл борманд?
                        Ответить
                        • Это ещё надо богатым быть, чтобы хостинг иметь под эту питушню, чтобы петху мог посмотреть.

                          Хотя, я могу поступить как ленивый чистый функциональный питух.
                          У меня на https://127.0.0.1 всё работает. На https://127.0.0.1/ca раздают сертификаты, на https://127.0.0.1/gkiller работает убийца гугла, на https://127.0.0.1/your-passwords все пароли пользователя, который посетит страницу.
                          Ответить
                          • ниче не пони, зачем хостинг

                            у тебя есть /etc/hosts, нжинкс на имени домена, который отрезолвится в 127.0.0.1, в браузере открываешь https://your.domain, браузер тебя спрашивает "сервер просит клиентский серт, давай предъявим, найди на диске" и течёшь

                            а бля, теперь надо рассказывать, что такое DNS и TLS, nginx, БРАУЗЕР... ну нахуй, пусть админ разбирается
                            Ответить
                            • > ниче не пони, зачем хостинг
                              Петху хочет пример такой питушни. Он ко мне на 127.0.0.1 не попадёт и пример не посмотрит, если не хакер. А если хакер, то сам сможет раскатить такую инфрапитушню.
                              Ответить
                              • так пусть попадёт к себе
                                времени на всю цепочку от 30 минут (если плюс минус помнишь что гуглить, не знать же все ключи или инструкции конфига наизусть) до ~ дня
                                всё что надо выше рассказал

                                если он анскильный юзер шиндошс, то тогда, конечно, у него не выйдет ни-ху-я на каждом шаге:
                                - мышкой не найдешь где в твоей ОС /etc/hosts, лол, или не сможешь внести туда запись,
                                - потом небось будут проблемы с установкой nginx, но это не такая и проблема,
                                - ну а сертификат при помощи bash-надстройки над ванильным openssl, да или через cli openssl напрямую повозиться - это вообще ту мач, мышкопрограммист не сможет пару команд вбить из интернета, слишком сложно, это надо прыщи в шиндошс устанавливать, голова перегреется от таких проблем (надо выдать 3 разных по целям сертификата)

                                непосильно-заедушный дуализм

                                мы ведь знаем, что тут сеньорам платят не за то, чтобы понимать, как решать проблемы
                                решают проблемы дешевые васяны, которым это интересно, а сеньоры сидят смузи пьют из киноа, сразу в облако свой код пишут
                                Ответить
                            • > теперь надо рассказывать, что такое <непонятная доменушня> и <непонятная криптушня>, <непонятная серверушня>, БРАУЗЕР
                              Вот кстати читал я статьи про то, как работает браузер, и там на каждом слое происходит такая НЁХ, которая может сравниться только с НЁХ в GCC.

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

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

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

                                но могли бы спросить у меня, я 5 лет назад это встречал, и мог вспомнить быстрее, чем они за пару часов пришли к выводам
                                Ответить
                                • > если ты работаешь на галере, которая не заинтересована в развитии тебя как юнита
                                  ...то должен радоваться. Делаешь то, что сказал начальник, и не думаешь. Счастливая жизнь, я даже немного завидую.

                                  > откуда выводы про 1% проектов?
                                  Более специфичные знания требуются гораздо реже.
                                  Инструменты вроде браузеров делают для людей, поэтому они и работают у людей большую часть времени. Какие-то хитрые ситуации, когда абстракции текут, случаются редко.

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

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

                                    https://ebanoe.it/2020/11/27/galley-way-to-nowhere/

                                    > 3) Эти кто угодно, а по факту именуемые «cотрудники», работающие по контракту time & material, приносят компании деньги только тогда, пока они сами числятся на клиентских задачах. По этой-же причине, пока они числятся на задачах, они имеют стабильный статус и свою заработную плату. Таким образом, и компания, и сами сотрудники, не заинтересованы в том, чтобы эти задачи прекращались, даже и по причине их успешного выполнения! Ведь иначе — наступает неопределенность и нестабильность, новые челенджи и тому подобное, а кому оно надо?

                                    > Но что делать? Откровенный саботаж будет в свою очередь сразу очивиден заказчику, которому важен результат. Саботаж приведет к тому, что работу отдадут другому вендору, галера получит меньше денег (а то и вообще уйдет в минус по штрафам), а саботер получит по шапке и останется без работы. Поэтому единственным выходом является постоянная «игра в жевачку». Постоянная работа на грани фола — имитация бурной деятельности, растягивание по максиму времени выполнения любых тасков, раздувание щек, усложнение всех эстимейтов, и прочее очковтирательство.
                                    Ответить
                                  • Гы-гы, сразу вспомнилось, как мне в начале этого года пришлось «Хром» в дебаггере запускать, чтобы ебанутую ошибку с preload-ом исправить: https://govnokod.ru/26452.
                                    Ответить
                                  • >Какие-то хитрые ситуации, когда абстракции текут, случаются редко.

                                    это правда. Обычно они случаются без объявления войны за неделю до релиза
                                    Ответить
                      • Можно сделать УЦ, который выдаёт серты юзерам говнокодика. А потом юзать этот серт во всех сервисах (хуз, нгк, мемчики и т.п.) Не надо будет на каждом сервисе прикручивать отдельную механику для проверки юзера.

                        Ник, ид и урл аватарки можно прямо в серт зашить и ходить по всем окологкшным сервисам без регистрации и паролей.
                        Ответить
                        • Здравствуйте, это канал об аниме традиционный тред «Как нам обустроить экосистему Говнокодика»?
                          Ответить
                          • Можно ещё будет проводить ежегодную церемонию подписания ключей говнокодика!
                            Ответить
                            • А трастить у кого? Неужто у Ивана Гамаза, он же Тарасенко?
                              Ответить
    • Как научиться складывать 5 с 7 и 8?

      Серьёзно, заебался уже: всё остальное заебись складывается, а как только надо пятёрку с семёркой или восьмёркой — всё, пиздец, начинаю судоржно вспоминать, 12 или 13. Ещё с детсада такая хуйня.
      Ответить
      • Ну 12 и 13 по чётности видно.
        Ответить
      • replace 7 with (5 + 2) by reflexivity.
        replace (5 + 5) with 10 by reflexivity.
        replace (10 + 2) with 12 by reflexivity.
        Ответить
      • 10 легко представить
        чтобы к 8 прибавить 5 надо сначала добить до 10ки двойкой, остается тройка в перехлёст
        чтобы к 7 прибавить 5 добивается тройкой до 10ки, остается двойка
        ниче вспоминать не надо
        Ответить
      • 5 это 3 и 2.

        7 + 3 = 10, 10 + 2 = 12.

        8 это 5 и 3.

        5 + 5 = 10, 10 + 3 = 13.

        Я так со всеми числами делаю, если одно (или оба) больше пяти.

        Главное подобрать правильные кобенации, для каждого числа они свои, кстати, но можно сжать числа например 7 и 8 это 7 и 3 и 5, берём число 7, 7 и 3 это 10 и ещё 5 это 15 также есть воренеции можно например 7 это 2 и 5 и 2 и 8 это 10 а 10 и 5 это 15 вот такой вот алгоритм сложения чисел за константное время.

        UPD: Зашли как-то в математический бар bormand, CHayT, defecate-plusplus и oaoaoammm...
        Ответить
        • > Зашли как-то в математический бар
          ну тут пиздец, вопрос тыщилетия, вроде, миллион американских долларов дают за решение
          Ответить
        • ... и бармен такой: «Здравствуйте, п*р с*р!»
          Ответить
      • можно дробить не только 7, как сказал Снаут, а ещё и 5:
        добиваем 7 до 10, отщипывая от 5 3. Остаётся 2. 12 бат лесные
        добиваем 8 до 10, отщипывая от 5 3. Остаётся 3. 13 бат лесные

        P.S. А, defecate-plusplus всё написал.
        Ответить
      • Спасибо! Сейчас я действительно считаю, дробя 5 на 3 и 2, но это заёбывает: всё остальное считается мгновенно и сразу, а на этих цифрах сбой какой-то в мозгу произошёл.
        Ответить
        • Я вспомнил!
          http://ru.m.wikipedia.org/wiki/Счёты
          Ответить
          • Абак лучше, его можно собрать из найденного на помойке мусора.
            Ответить
            • АБАК – профессиональный системный интеграторwww.abak.ru
              Комплексные решения в области IT-технологий. Внедрение информационных систем. Инженерная инфраструктура. ИТ-аутсорсинг и консалтинг.
              Ответить
            • Я за https://i.imgur.com/dZPXEkp.jpg.
              Ответить
            • Абак можно даже из сладкого хлеба слепить.
              Ответить
      • Ты давно первый класс окончил?
        Ответить
      • Удивительный случай случился со мной: я вдруг забыл, что идёт раньше – 7 или 8.

        Я отправился к соседям и спросил их, что они думают по этому поводу.

        Каково же было их и моё удивление, когда они вдруг обнаружили, что тоже не могут вспомнить порядок счёта. 1, 2, 3, 4, 5 и 6 помнят, а дальше забыли.

        Мы все пошли в коммерческий магазин «Гастроном», что на углу Знаменской и Бассейной улицы, и спросили кассиршу о нашем недоумении.

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

        – По-моему, семь идёт после восьми в том случае, когда восемь идёт после семи.

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

        Что нам было делать? Мы пошли в Летний сад и стали там считать деревья. Но дойдя в счёте до 6-ти, мы остановились и начали спорить: по мнению одних дальше следовало 7, по мнению других – 8.

        Мы спорили бы очень долго, но, по счастию, тут со скамейки свалился какой-то ребёнок и сломал себе обе челюсти. Это отвлекло нас от нашего спора.
        А потом мы разошлись по домам.
        Ответить
      • приведи реальный пример когда тебе приходилось складывать числа
        Ответить
    • https://sun9-56.userapi.com/impg/i92JrAo5rtEJrzWSGx1twhcMh-9eEuX6Gp3yYQ/vcT749zybjA.jpg?size=1887x1957&quality=9 6&proxy=1&sign=86fd3ecb85077cc3d05df2743 83fc6b3

      Девушка 3oJIoTou_xyu.
      Ответить
      • 403 Forbidden
        Ответить
        • С хуза зайди. Или про белы убери.
          Ответить
          • кулер времен socket 370
            Ответить
            • обычный 80mm, чего

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

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

            З.Ы. Водянка лучше всех этих медных монстров, на самом деле.
            Ответить
            • можно сдать если вдруг нечего будет есть

              а зачем? чтобы разгонять проц до охуевания?
              Ответить
              • Я ради тишины брал.

                Чем больше вертушка и радиатор, там меньше надо оборотов. В итоге оно не так воет под нагрузкой.

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

                  https://upload.wikimedia.org/wikipedia/commons/7/73/PowerMac_G4_800MHz_inside.JPG
                  Ответить
                  • Интересная раскладка. Не знаю какие контроллеры прикручивали к «PPC», но получается примерно, что у этой материнки «северный мост» внизу, а «южный мост» вверху?
                    Ответить
                    • Да скорее просто материнка вверх-ногами.
                      Ответить
          • це ж качовый бренд, зайди к ним на сайт просто описания да шестилетнюю гарантию посмотреть
            Ответить
    • https://status.aws.amazon.com/
      амазоново облако в Вирджинии накрылось пиздой
      Ответить
      • Твой сервис задело?
        Ответить
        • Сервис по воровству ников?
          Ответить
          • Я не знаю какой у тебя.
            Ответить
            • У меня один 20% проект был на AWS, но я давно его не трогал. Сейчас у нас девопсы текут от k8s, и хотят половину говна перенести на свои сервера. Заебало видимо платить AWSу за каждый чих
              Ответить
              • Лол. Был один проект, который помогал из on-prem перевести в амазонию. Посчитали, что это совершенно невыгодно, ибо за месяц аренды high-end серванта с EBS, амортизацией линков и всей хуйнёй можно купить себе такой же high-end сервант. Но CTO был непреклонен. Друг, оставшийся там, недавно писал, что подумывают мигрировать обратно, ибо "шо-то дорого больно!" Какой CTO )))
                Ответить
                • когда переезжать в aws выгодно? а в azure?
                  Ответить
                  • Как шутил мой коллега: переезжать в облако стоит только тогда, когда ты стартап. Чтобы после того, как прогоришь, не нужно было тратить время продавать железо.
                    Ответить
                  • Когда тебе хочется быстро (вот прямо сегодня вечером) иметь 10 серверов в разных частях света. Но когда у тебя реально большие нагрузки, это становится не выгодно.

                    Это как такси. Выгоднее взять такси до аэропорта, чем купить машину.
                    Но если ты ездишь по 8 часов в стуки, то лучше нанять водителя или купить машину

                    Алсо, для облака в теории не нужен админ, а для своих серверов нужен. Если у тебя 3 человека в компании, то админ может быть дороговат
                    Ответить
                    • > Алсо, для облака в теории не нужен админ, а для своих серверов нужен.

                      Девочки-собачки всё равно нужны, а они дороже админов.
                      Ответить
                      • так собачки тебе нужны и для облака и для k8s на он премис, но для своей серверной же нужен еще и админ, чтобы всякие там прошивки рейдов обновлять и блоки питания менять
                        Ответить
                        • Можно и так сказать. Обычно в конторах, где я работал, для замены бп была своя категория лаб-инженеров, отдельная от сисадминов, накатывавших апдейты, модули для питона и т.д. Сейчас они перевелись по большему счёту, конечно.
                          Ответить
                          • У нас они называются системные инженеры, и вроде бы подчиняются главному айти менеджеру вместе с сетевыми инженерами, которые про маршрутизацию в офисе и серверной. А у девопсов вроде бы своя иерархия
                            Ответить
    • kolabaister
      24 ноября 2020 в 14:46

      Недавно передо мной встала задача получить на vb6 большое количество истинно случайных чисел
      https://habr.com/ru/company/vdsina/blog/529478/
      Ответить
      • > на vb6

        CryptGenRandom позвать?
        Ответить
        • да, я тоже подумал про обезьянью книгу*, но вдруг у него w2k, а там CryptoAPI этой функции не содержало

          *https://cdn1.ozone.ru/s3/multimedia-t/6012517265.jpg
          Ответить
    • реально ли реализовать ЦАП для запахов, чтобы передавать их черех Интеронет?
      Ответить
      • Положить говна в электронную сигарету и подключить ее к компу.
        Ответить
        • а без зелени ? как работает обоняние? можно синтезировать запах говна из каких-то компонентов так же, как мы синтезируем изображение из RGB или звук посредством колебания какого-то говна?
          Ответить
          • в кинотеатрах давали карточку с напыленными поверхностями

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

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

                    думаю что проще способа чем посветить уф лампой на перец чтоб он вырос еще нету
                    Ответить
                    • То есть чтобы передавать говно по интернету нужно синтезировать молекулы?
                      Ответить
                      • Да. Ты делаешь компуктер, потом провода, потом интернет-провайдера и они все состоят из молекул
                        Ответить
                        • хе хе, эти молекулы у меня уже есть, мне их делать не нужно
                          Ответить
                          • А, ну тогда засыпай их в провод
                            Ответить
                            • а как они поймут, куда идти? вдруг не с той стороны вылезут?
                              Ответить
                              • они под силой притяжения вниз пойдут
                                Ответить
                                • тогда сайт придется на чердак ставить
                                  Ответить
                                  • Ну а ты думал зачем водонапорные башни и телескопы повыше ставят, и вышки связи почему такие высокие
                                    Ответить
                                    • тогда в многоэтажках интернет будет тормозить
                                      Ответить
                                      • надо тогда со спутника рассыпать, таких высоких домов точно нет
                                        Ответить
                                        • Вроде Маск именно это и выдумал. Только если ветер снесет Интернет в другую страну, или (что хуже) нанесет нам другого интернета, то всё сломается
                                          Ответить
                                          • я закрываю окна когда вайфай включаю
                                            Ответить
                                            • А вот это правильно: зачем тебе чужие волны и срать в эфир ребятам во дворе?
                                              Ответить
                                              • я маме так и говорю чтоб реже на двор выходила, а то рядам 5g вышку поставили, зомбировать хотят
                                                Ответить
                                                • поставь решетки на окна такие, чтобы только 4g пролазила
                                                  Ответить
                                                  • > решетки

                                                    Как на двери микроволновки?
                                                    Ответить
                                                    • у 5g в 10 раз больше частота чем в микроволновке

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

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

          Был проект телевизора с запахами, даже несколько экземпляров выпустили. Он заправлялся колбами с ароматизаторами, к которым прислонялись нагреватели, как к электронной сигарете, и по сигналу с телецентра активировались определённые нагреватели.
          Ответить
      • https://habr.com/ru/post/174903/

        Всё уже давно создано, просто уёбки всем рассылали запахи хуйцов и говна под видом ароматеций, поэтому сервис пришлось закрыть.
        Ответить
    • Q: Есть абсолютная доступная ссылка на mp4 и нужно скачать не весь файл, а только его кусок, определяемый таймлайнами start и end. Как это сделать средствами php?

      A: php + что-то типа shell_exec + ffmpeg


      https://phpclub.ru/talk/threads/%D0%A1%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%87%D0%B0%D1%81%D1%82%D0%B8-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BF%D0%BE-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5.87187/

      какой пиздкц
      Ответить
      • Хех, а я как дурак формат изучал и заголовки патчил. Про ffmpeg годное решение же.
        Ответить
        • а что, либа с php не собирается? libav*? реально надо внешнюю тулу запускать?
          Ответить
          • Да ты заебёшься эту либу юзать, тулой проще.
            Ответить
            • там API примерно как в OpenSSL?

              Но даже вокруг тулы есть обертки (g: php ffmpeg)
              Ответить
              • > обертки

                А если в обертке чего-то не хватит, то полезешь в сишку?

                Не, для скриптушни вызов тулы оптимален как мне кажется. Задачи достаточно тяжёлые, особенно если транскодить. Оверхед от запуска не должен быть сильно страшным.
                Ответить
              • З.Ы. По пхп ффмпег у меня почему-то гуглится только обёртка над бинарем. Видимо гугл не считает меня достаточно продвинутым пхпшником.
                Ответить
                • shell_exec();
                  Ответить
                • Уже два года как пользуюсь только DDG и Qwant, кстати, полёт нормальный. Ибо гугл заебал полностью нерелевантную хрень подсовывать.
                  Ответить
                  • P.S. Прочитал как "про ффмпег у меня почему-то гуглится только обёртка над бинарем." Какой багор )))
                    Ответить
    • Q: На сайте внутренние ссылки прописаны с символом "+". А по факту в названиях папок - пробелы. Как заменить "+" на "%20"?
      https://phpclub.ru/talk/threads/%D0%9A%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%B2-%D0%A3%D0%A0%D0%9B%D0%B5-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B5-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B-%D0%B2%D1%81%D0%B5-%D0%BD%D0%B0-20.87183/
      Ответить
    • хуясе
      As of Windows 10 / Windows Server 2016, you can enable GPU usage remotely as both operating systems natively support DirectX 11 / OpenGL 3+ over RDP.
      Ответить
      • питухим, как это работает? видеокарта рендерит в память, а потом ее bitbltят по RDP? один хуй же будет тормозить
        или локальная карта рендерит?
        Ответить
        • Ну походу стримит команды для gpu на клиента, где уже всё и рендерится. Как иксы с opengl.
          Ответить
          • иксы их по сети стримят разве? там вроде был спец API чтобы ходить на локальную карту напрямую, glx чи както так
            Ответить
    • Перекат!

      https://govnokod.ru/27136
      https://govnokod.xyz/_27136/
      Ответить

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