Вчера у меня в ленте на фейсбуке (жаль что в закрытом посте) проявился еще один аспект ChatGPT, жуть которого я не вполне осознавал. Представьте, что ваш менеджер присылает вам емейл: "я вот тут сгенерил с помощью ChatGPT код на языке описания аппаратуры SystemVerilog, который реализует мою идею, ты его поправь немного и в продакшн, а то нас сроки поджимают".

Почему это жутко? Потому что в обсуждаемом посте ChatGPT сгенерил так называемый несинтезируемый код. Это означает: код вроде и есть, и после массажирования даже будет компилироваться в симуляторе, но вот чип из него сделать нельзя. Никак, вообще никак. Для решения этой задачи нужно написать совсем другой код, у которого не будет ни одной строчки общего с тем, что прислал менеджер.

То есть менеджер думает, что вместе с ChatGPT сделал за вас 90% работы, а на самом деле это (даже если убрать ошибки типа путаницы в семантике модуля и функции) в лучшем случае - высокоуровневая спецификация того, что нужно сделать. Потому что тип "string" не обрабатывается синтезатором, а если его заменить на большие битовые вектора и развернуть циклы, то получится комбинаторное облако, чип из которого будет размером с чемодан, а задержка на котором будет не пикосекунды, а секунды. Собственно с этим кодом хардверный дизайн еще даже не начинается.

Для хардверного дизайна алгоритм нужно превратить в конечные автоматы, конвейеры, очереди FIFO итд. Вообще, превратить несинтезируемый код в синтезируемый пытались десятки компаний и университетских проектов последние 35 лет. Эта область называется "high level synthesis". Результаты этой движухи довольно мизерные, учитывая что сейчас все топ-электронные компании пишут синтезируемый код вручную, кроме нишевых областей.

Зачем же в SystemVerilog есть несинтезируемые конструкции? Для писания тестов и моделей, с которыми сравнивается поведение синтезируемых блоков в симуляторе.

По сути, SystemVerilog - это несколько языков в одном. В нем есть подмножество для определения netlist (графа логических элементов), подмножество для уровня регистровых передач (оно же - синтезируемое подмножество), поведенческое подмножество (у которого есть синтезируемая и несинтезируемая части) и отдельные язычки для constraint solvers, coverage bins и темпоральной логики continuous assertions (три последние я не буду расшифровывать). Ну и еще подмножество для switches и аналоговое расширение, но я это не использовал.

Так вот. Менеджмент ChatGPT нанял армию контракторов в дешевых странах , но на тренировку на SystemVerilog они наверное поставили человека, который решил прикрутить понимание питона или джавы, поскольку из таких языков в SystemVerilog натащили кучу фич для несинтезируемого подмножества.

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

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

Комментарии (205)


  1. 76popugaev
    03.02.2023 21:17
    +4

    Видите области применения этой технологии для себя? (Пусть даже вообще не про программирование)


    1. YuriPanchul Автор
      03.02.2023 21:25
      +14

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


      1. vkni
        03.02.2023 22:22
        +11

        Так как скрипт на баше - это последовательный рецепт, ChatGPT делает это OK.

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


      1. mentin
        04.02.2023 08:37
        +27

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


        1. YuriPanchul Автор
          04.02.2023 09:11
          +6

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

          set -e - Exit immediately if a command exits with a non-zero status. Note that failing commands in a conditional statement will not cause an immediate exit.

          set -o pipefail - Sets the pipeline exit code to zero only if all commands of the pipeline exit successfully.

          set -u - Causes the bash shell to treat unset variables as an error and exit immediately.

          set -x - Causes bash to print each command before executing it.

          set -E - Improves handling ERR signals

          Насчет имен файлов с пробелами - ChatGPT везде ставит кавычки "$abc", даже изнишне с моей точки зрения (если я знаю, что в $abc внутри пробелов нет, то я пишу например ../$abc)

          Кстати если вы спец по башу, мне было бы интересно ваше мнение о моих башевских скриптах, например из open-source проекта (там в нескольких строках я использовал подсказки от ChatGPT, но в принципе писал сам) https://gitflic.ru/project/yuri-panchul/valid-ready-etc/file?file=scripts


          1. Antistes
            04.02.2023 10:46
            +1

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


          1. yeputons
            04.02.2023 15:22
            +1

            Увы, это всё не до конца помогает, если писать сложные скрипты. Например, вот такой код выведет should not print вместо failed:

            #!/bin/bash
            set -eEuo pipefail
            { set -e; false; echo "should not print"; } || echo failed


            1. YuriPanchul Автор
              04.02.2023 20:14

              Интересно!


            1. Over-9000
              06.02.2023 01:11

              А почему должно ожидаться, что скрипт выдаст "failed"?


              1. yeputons
                06.02.2023 01:38
                +1

                Потому что в фигурных скобках команда завершилась с ошибкой — false. Из этого напрашивается вывод, что выполнение фигурных скобок прерывается из-за `set -e`, фигурные скобки целиком тоже завершились с ошибкой, дальше идёт обработчик ошибки справа от фигурных скобок.

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


          1. mentin
            05.02.2023 05:07

            я не специалист в bash скритпах, но практически универсальная рекомендация первой строчкой писать

            #!/bin/bash
            

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


            1. YuriPanchul Автор
              05.02.2023 05:27
              +1

              У меня по ссылке не полный скрипт, а просто текстовые файлы которые скрипт сорсит. Обратите внимание на расширение source.bash

              Например 02_simulate_rtl.source.bash 

              Он запускается из другой директории скриптом, у которого в первой строчке все в порядке:

              Вот https://gitflic.ru/project/yuri-panchul/valid-ready-etc/file?file=boards%2Fde10_lite%2F01_flip_flop_fifo%2F01_flip_flop_fifo_with_counter_and_slow_clock

              https://gitflic.ru/project/yuri-panchul/valid-ready-etc/blob?file=boards%2Fde10_lite%2F01_flip_flop_fifo%2F01_flip_flop_fifo_with_counter_and_slow_clock%2F02_simulate_rtl.bash

              собственно скрипт который запускается выглядит так:

              #!/usr/bin/env bash
              
              set -Eeuo pipefail  # See the meaning in scripts/README.md
              
              script=$(basename "$0")
              source_script=${script/\.bash/.source.bash}
              dir_source_script=../scripts/$source_script
              
              for i in {1..3}
              do
                  [ -f $dir_source_script ] && break
                  dir_source_script=../$dir_source_script
              done
              
              if ! [ -f $dir_source_script ]; then
                  printf "$script: cannot find \"$source_script\"\n" 1>&2
                  exit 1
              fi
              
              dir_source_script="$(readlink -f $dir_source_script)"
              . "$dir_source_script"

              Я использую рекомендацию в качестве первой строчки использовать "#!/usr/bin/env bash" что считается лучше чем "#!/bin/bash" в разных статьях


              1. mentin
                05.02.2023 05:56

                а зачем в просто текстовых файлах повторять set?
                если они вызываются точкой, достаточно в главном файле, там же где #!


                1. YuriPanchul Автор
                  05.02.2023 07:33

                  Да, в файле  00_setup.source.bash можно было не повторять, согласен


            1. Voldemaar
              06.02.2023 08:35
              -1

              ln -s /bin/zsh /bin/bash


          1. webhamster
            06.02.2023 12:28

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

            На крайний случай, учитывая что Bash со всеми его закидонами не предназначен для вменяемого программирования, можно было бы написать скрипты на Python, или на худой конец на PHP, Ruby или что там есть адекватного. Код бы получился более сопровождаемый чем вот это месиво из консольных команд и подстановок.


            1. YuriPanchul Автор
              06.02.2023 13:07
              +1

              Имхо учить дополнительный тул для писания скриптов в open-source проектах имеет смысл если 1) этих скриптов нужно писать минимум несколько тысяч строк и 2) если это же тул готовы учить другие люди в проекте.

              PHP в автоматизации синтеза и симуляции я никогда не видел, Ruby иногда вижу но вроде его популярность угасает, а Python имхо более многословный.


      1. wladwm
        04.02.2023 15:39
        +10

        Думаю что начинать бояться чатгпт всяким инженерам и программистам нужно будет тогда и только тогда, когда чатгпт сможет по невнятному мычанию манагера внести правки в СУЩЕСТВУЮЩИЙ проект. А до этого как до Сириуса ползком.


        1. mentin
          05.02.2023 10:44

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


          1. wladwm
            06.02.2023 18:52
            +1

            :крик_мунка: сингулярность, скайнет, мы все умрем!

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

            Останутся жить только собственники средств производства, а все остальные голожопики - не вписались в рынок.


      1. useful_citizen
        04.02.2023 22:17

        Видел ваши посты в ЖЖ, приятно, что вы еще и на Хабре есть. В ЖЖ у многих от ваших постов что называется "попки подгорают" только так.


      1. kraidiky
        05.02.2023 21:31

        Ещё в предыдущей версии Visual Studio была интеллектуальная система подсказок, которая увидев, что у меня есть итерируемая локальная переменная и я начинаю писать for предлагала автозаполнение пройтись циклом по этой переменной. ChatGPT после того как модель похудеет и специализируется будет делать то же самое, только угадывать не в одном случае из трёх, как сейчас, а сильно чаще. Думаю это будет вполне применением.

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


      1. plemiannik
        06.02.2023 07:08
        +2

        Юра, хватит отлынивать. Поправь уже этот код и в продакшн


        1. dragonnur
          06.02.2023 10:06

          Ваш нейрочятик забыл открывающие и закрывающие тэги "сарказм" ;-)


    1. kenoma
      04.02.2023 16:47

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


    1. PsyHaSTe
      05.02.2023 18:41
      -1

      Копилот за меня пишет б0льшую часть кода, чатгпт за меня сочиняет сопроводительное письмо к резюме,… Будущее уже тут, даже если еще не все это поняли.


      1. Wesha
        06.02.2023 01:40
        +1

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

        Становится интересно — а кто тогда за Вас зарплату получать будет?


        1. PsyHaSTe
          06.02.2023 14:47

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


          В чем их прелесть и заключается.


  1. vkni
    03.02.2023 22:19
    +76

    Но попытайтесь объяснить это менеджеру, который это не понимает.

    Вы, Юрий, подняли проблему значительно более серьёзную, чем ChatGPT и даже SystemVerilog. Сейчас считается, что управление людьми может быть абстрактным, без понимания предметной области. Причём это так везде.

    И предстоят годы жесточайших разочарований, прежде чем эта дурь не будет выбита из головы всех и каждого. Посмотрите скажем, скажем статью https://habr.com/ru/post/713462/ — лирический герой пришёл из условного «конвейера» в творческую область, нихрена не прочитал об особенностях, и считает, что «может управлять».


    1. gleb_l
      03.02.2023 22:54
      +53

      Если зачерпнуть стаканом воды из болотца, то пропорция флоры в стакане будет практически идентична таковой в самом болотце. Значит, проблема не на производстве/НИИ/IT-компании или в банке. Проблема в корневых свойствах популяции, идущих ещё от обезьян - лучшую самку берет самый успешный. В 60-х годах это был физик, в 70-х - гитарист, сейчас - нагловатый и пробивной менеджер.

      Как от этого защититься, если не хочется самому становиться таким же, жертвуя своим призванием? Общего ответа нет, но если «три этажа сверху» решили пожертвовать собой «техническими», чтобы инженерам под их прикрытием было возможно работать - то это большая удача. У вас есть полупроницаемая мембрана, и состав флоры в вашем конкретном стакане отличается в лучшую сторону от общего болота. Но это состояние неустойчиво - невежество и наглость могут порвать мембраны (M&A компании, новые инвесторы, смена совета директоров, инъекция родственников владельцев в вертикали итд) - и все, прощай защита. Как только к власти хотя бы в одном узле придёт самоуверенный дурак, у которого «все просто» - вся функциональная ткань организма начнёт замещаться соединительной, а вместо полезной информации по синапсам компании начнут циркулировать директивы и KPI. С этого момента структура начнёт подавать признаки Альцгеймера, потом оттуда уйдут способные производить истинную информацию (а это в нашей Вселенной умеют только мылящие существа), и дальше кривая резко уйдёт в землю, и структура превратится в зомби и затем в мумию.

      Заметьте, это применимо к организациям любого масштаба - например, к несчастью, подобный закат наблюдаем сейчас мы все на 1/6 части суши (.


      1. vkni
        03.02.2023 23:11

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

        Это сведение мотиваций людей к переупрощённым поведенческим паттернам приматов мягко говоря бессмысленно, если не вредно.

        1. Люди в рассматриваемом контексте — это не животные. Даже скорее антиживотные — люди ставят себе все, интересные в данном контексте цели, сами.

        2. Вопрос лучшей самки: вы намекаете на то, что женщины-менеджеры — это скрытые лесбиянки? Не соответствует наблюдениям.

        3. Ну и окончательно: вы же абсолютно никак не раскрыли вопрос, почему «самый успешный» — это «менеджер-универсал, незаинтересованный в ознакомлении с предметом управления». Только его чутка переформулировали.


        1. sshemol
          04.02.2023 10:03
          +7

          Это сведение мотиваций людей к переупрощённым поведенческим паттернам приматов мягко говоря бессмысленно, если не вредно.

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

          женщины-менеджеры — это скрытые лесбиянки?

          Мотивация женщин вообще в корне отличается от мужской.

          https://humans-ethology.com/files/zhenschina._uchebnik_dlya_muzhchin._1ya_redakt.pdf


          1. deadmoroz14
            04.02.2023 15:24
            +5

            Приведённая книжка просто ужасна. Сборник неразрешённых комплексов и проблем.


            1. Wesha
              04.02.2023 20:29
              -1

              А вот и дамы подтянулись :)


          1. Rorick
            06.02.2023 01:11
            +4

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


          1. Alexchexes
            06.02.2023 01:11
            +3

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

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

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

            Этнических европейцев просто вырежут под крики «Аллах Акбар»

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


        1. bbs12
          04.02.2023 10:27
          +4

          Даже скорее антиживотные — люди ставят себе все, интересные в данном контексте цели, сами.

          Это что за цели? Возможно это какие-то промежуточные цели, а конечные цели почти всегда одинаковые и заданы генетикой - добыча ресурсов, статус, опыт, друзья или партнеры для размножения. Часто эти цели взаимопересекаются, например много ресурсов и определенный статус увеличивают шансы на выживание и получение более качественного партнера для копирования ДНК.

          Вопрос лучшей самки: вы намекаете на то, что женщины-менеджеры — это скрытые лесбиянки?

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


          1. bbs12
            04.02.2023 14:14
            +2

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


          1. SCHWEJK
            05.02.2023 00:17
            -1

            Часто эти цели взаимопересекаются, например много ресурсов и определенный статус увеличивают шансы на выживание и получение более качественного партнера для копирования ДНК.

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


            1. bbs12
              05.02.2023 14:38
              +3

              женщины нифига таких не бракуют.

              Там часто качество женщин соответствующее.


      1. Dimaasik
        04.02.2023 00:24
        -5

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


      1. engine9
        04.02.2023 15:18
        +6

        В 60-х годах это был физик

        Мне кажется, это слегка приукрашено.


        Изображение


      1. SAWER
        04.02.2023 18:12

        Весьма глупое представление о "лучших". Ещё можно омегаверс сюда воткнуть, на том же уровне. Всё намного сложнее, чем это примитивное представление. Есть только одна черта дающая достаточное превосходство - видимая уверенность.

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

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


        1. SCHWEJK
          05.02.2023 00:22

          Есть только одна черта дающая достаточное превосходство - видимая уверенность.

          Я бы не сводил всё к какому то одному качеству.

          С неуверенным мужчиной женщина проявит инициативу сама, положит мужчину в свою дамскую сумочку, придавит каблуком - может, ей такой и нужен, это ведь не редкость


        1. gleb_l
          05.02.2023 00:53
          +2

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

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

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


      1. SCHWEJK
        05.02.2023 00:10

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

        Лучшая самка выбирает того, с кем хорошо.

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

        Заметьте, это применимо к организациям любого масштаба - например, к несчастью, подобный закат наблюдаем сейчас мы все на 1/6 части суши (.

        На 1/5 как минимум. Радость и щастье вдруг не пришло на территорию всего xUSSR.

        Хотя, посмотреть на вереницу "великих" президентов США, у них разве лучше? Эти байдены, буши младшие - разве не маразматики, которые затруднялись исполнять даже представительские функции.


        1. gleb_l
          05.02.2023 00:45
          +1

          Про США - если вы о политике - принципиальной разницы нет. Есть определённые процедуры, препятствующие превращению flip-flop геронтократии в тиранию - но не более того. Посмотрите, например, глубину риторики кандидатов от вечных партий ;). А что касается теорий жизненного цикла компаний итд - все как раз оттуда - так что эта проблема глобальная. В РФ плюс ко всему ещё и пещерная модель управления - весь большой «бизнес» нанизан на один кингболт, и это вносит свою атмосферу в структуру и стиль управления.


      1. Teamer_ol
        06.02.2023 01:11
        +1

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

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


    1. petropavel
      03.02.2023 22:55
      +26

      Вот-вот. Тут ChatGPT и SystemVerilog не при чём. Менеджер приходит и говорит, вот тут у меня идея простенькая, сделай за недельку. И попробуй объясни, что "за недельку" это не сделать.


      1. 76popugaev
        03.02.2023 23:28
        +4

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


        1. kahi4
          04.02.2023 12:38
          +9

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


          1. Wesha
            04.02.2023 12:52
            -3

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

            В Google WolframAlpha забанили? https://www.wolframalpha.com/input?i=coordinates+of+all+united+states+national+parks+


            1. AKudinov
              04.02.2023 13:27
              +9

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


              1. Wesha
                04.02.2023 20:33
                -4

                1. Попросить, цитата, "базу всех национальных парков мира с их координатами"

                2. Получить ровно то что просили

                3. Пожаловаться "да я совсем не то имел в виду".

                Месье, я так понимаю, менеджер?


                1. Xobotun
                  04.02.2023 21:28
                  +4

                  А что же вы перешли к выполнению задания, не уточнив детали?

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

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


                  1. Wesha
                    05.02.2023 00:11

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

                    "Все детали, явно не оговорённые в задании, кандидат имеет право принять по своему усмотрению". Иначе интервьюер может и не выдержать!


                1. Physmatik
                  04.02.2023 23:28
                  +1

                  Месье способен держать в голове немножко контекста.


                1. markmariner
                  05.02.2023 17:49
                  +2

                  Вы нашли национальные парки США, задача не решена. Ну и общаетесь вы с позиции д`Артаньяна.


      1. ruimage
        04.02.2023 19:45
        +4

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


      1. vikarti
        04.02.2023 21:02

        А какого года картинка? :). Просто сейчас для check whether the photo is of a bird на самый первый взгляд:


        • известно что задача — решается и есть прикладные приложения и может быть и статьи на хабре как это делать
        • в принципе понятно что стоит гуглить либо в районе сервиса который image classification сделает но каждый запрос будет стоить копеечку либо на тему как сделать
        • можно поискать людей кто на kaggle такие задачки писал на всяких pytorch...


    1. Gugic
      04.02.2023 03:27
      +17

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

      Менеджер без понимания предметной области с абстрактным управлением людьми и менеджер которому невозможно объяснить (или даже скорее менеджер который не слушает) это две разные вещи.

      Хороший управленец (вне зависимости от предметной области и степени погружения в нее) будет слушать специалистов, найдет себе специалистов которые смогут дать альтернативное мнение если нужно ну и так далее. Заменеджит проблему в общем.

      А плохой управленец может в общем и целом игнорировать объяснения и при полном понимании предметной области.


      1. poige
        04.02.2023 06:26
        +3

        Проблема только в том, что для того, чтобы найти спец-тов, а не имитацию таковых, нужно самому быть спец-том. ) Или придётся доверять каким-то косвенным методам оценки, которые являются весьма слабой гарантией по факту. Отсюда и возникают поиски эксперта, который 10+ лет вытирал задницу туалетной бумагой фирмы N «потому что наша фирма использует именно такое оборудование». Сюда же прилетает и игнорирование собственных ошибок, потому что сделав неправильный выбор, после гадания на псевдо-не-кофейной гуще, «хорошему управленцу» будет совсем не вариант расписаться в собственной некомпетентности, и по таким законам жанра уровень абсурда будет только нарастать. Бывает, конечно и такое, что «баг на баг» дает искомый рез-т, но это редкость. Так что Хороший Управленец должен быть и Хорошим Спец-том. Иначе фиаска™.


        1. Wesha
          04.02.2023 06:51
          +40

          спец-тов

          рез-т

          Скажите, пожалуйста, на что Вы тратите сэкономленные Вами две с половиной секунды жизни?


          1. imater
            04.02.2023 20:54
            +3

            Экономия больше, так как не надо лезть в словарь и смотреть как оно правильно пиш-ся


            1. Wesha
              05.02.2023 00:13
              +1

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

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


              1. FacePoker
                06.02.2023 19:54

                на српском језику


          1. poige
            05.02.2023 08:35
            -2

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


            1. Wesha
              05.02.2023 09:05
              +7

              «пассивно-агрессивный»

              в попытках мщения

              Пожалуйста, не держите зла.

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

              Не знаю, что вас удержало от обращения в суд.

              Наверное, тот факт, что меня в детстве учили, что на отдельные категории людей совершенно не стоит обижаться? /s


              1. poige
                05.02.2023 11:39
                -2

                Ага-ага, и судя по вашему абсолютно бестолковому поведению, вся эта учёба оказалась бесполезной… )


                1. Wesha
                  05.02.2023 11:43
                  +3

                  Это Ваше мнение. Не смею Вам воспрепятствовать его высказывать, а тем более — иметь.


            1. fizteh147
              05.02.2023 13:25
              +4

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

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

              Даже не так, а вот так: серийный программист Джон


        1. Gugic
          04.02.2023 06:52
          +1

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

          ответил ниже - варианты есть


      1. vkni
        04.02.2023 06:47
        +3

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

        Откуда «хороший управленец» определит, кто спец, а кто — нет, без малейших сведений о предметной области? Первейшее дело, которое управленец должен сделать при переходе в новую для себя область — самообразование. Вспомните того же Сталина, читавшего книги по металлургии.

        В случае лирического героя статьи по ссылке, он должен был сразу же копать литературу в области «как управлять разработкой программного продукта» и читать, читать, читать. Искать опытных управленцев, пытать их. А не случайно узнавать у ¡секретарши!, что совершает дикие ошибки, задав жёсткий срок окончания работ, а не промежуточные плавающие сроки с промежуточными целями. Блин, если бы он там в припадке ярости уволил хотя бы четверть персонала, про срыв сроков не говорим, он бы просто весь проект сорвал бы.


        1. Gugic
          04.02.2023 06:51
          +4

          Откуда «хороший управленец» определит, кто спец, а кто — нет, без малейших сведений о предметной области?

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

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


          1. vkni
            04.02.2023 07:07

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

            Из скольки раз — пару? В жизни, в принципе, всякое случается.


        1. AlexXYZ
          04.02.2023 11:06
          +10

          Вспомните того же Сталина, читавшего книги по металлургии.

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

          Искать опытных управленцев, пытать их.

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

          Но среди всяких императоров лично мне нравится Наполеон. Потому что у него есть теорема Наполеона. Раньше было лучше. Потом императоры совсем никудышные пошли.

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

          Прям как в анекдоте «вы либо трусы наденьте, либо крестик снимите». В одном предложении приводить в пример Сталина, а в следующем критиковать методы его работы. Уверен, что и Чикатило тоже книжки читал, но вы почему-то не его привели в пример. Интересно, на чём основана ваша избирательность?

          Также напомню, что Сталин был ярым противником кибернетики, которой вы как раз и занимаетесь. Стоит ли упоминать известное выражение Сталина, что «Кибернетика — чуждая марксизму ж...овская наука».

          И вы приводите этого человека здесь как пример!? Вы серьёзно?


          1. Firsy
            04.02.2023 13:44
            -1

            Хватит вешать лапшу что Сталин преследовал кибернетику. Даже сли вы делаете это от незнания, вам не добавит чести. Первый институт в СССР по проектированию компьютеры был построен в 1948 году ИТМВТ, Институт точной механики и вычислительной техники имени С.А. Лебедева. Он создан в 1948 году для разработки электронных вычислительных машин – основного технического средства кибернетики. Но вы как ”продвинутый интелекуал" конечно же об этом не скажете и будете цитировать Хрушева, вернее те правки которые кукурузный приказал внести в речи Сталина.


            1. Yukr
              04.02.2023 14:16
              +11

              а что вы скажете на цитату из Философского словаря 1954 года издания:

              По существу своему кибернетика направлена против материалистической диалектики, современной научной физиологии, обоснованной И.П. Павловым (см.), и марксистского, научного понимания законов общественной жизни. Эта механистическая метафизическая лженаука отлично уживается с идеализмом в философии, психологии, социологии.

              цитата по http://vivovoco.astronet.ru/VV/PAPERS/BIO/CYBER.HTM

              Такие политические книги вряд ли могли пропустить без тщательной проверки на соответствие партийной линии. а Сталин уже умер к 1954-му году


              1. Javian
                04.02.2023 16:01
                +3

                и что тут не так?

                … форма современного механицизма. Приверженцы кибернетики определяют её как универсальную науку о связях и коммуникациях в технике, в живых существах и общественной жизни, о «всеобщей организации» и управлении всеми процессами в природе и обществе. Тем самым кибернетика отождествляет механические, биологические и социальные взаимосвязи и закономерности. Как всякая механистическая теория, кибернетика отрицает качественное своеобразие закономерностей различных форм существования и развития материи, сводя их к механическим закономерностям.

                Мы сейчас под словом «кибернетика» понимаем несколько иное.


                1. Yukr
                  04.02.2023 16:29
                  +1

                  не так вот это

                  Хватит вешать лапшу что Сталин преследовал кибернетику


                  1. iig
                    04.02.2023 16:55
                    +6

                    Кибернетика, как лженаука об управлении, в том числе и человеками - коммунистам не нужна. У них для этого есть Линия Партии.

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

                    Вот такая вот коммунистическая диалектика.


                    1. Firsy
                      04.02.2023 19:15

                      Это ваша диалектика. Никак не Сталинская. Идиотов везде конечно хватало. Но наличие идиотов в популяции никак не связана с идиологией или политсистемой, они есть всегда. Наивно думать что Сталин не интересовались новейшими иследованиями .


                      1. AlexXYZ
                        04.02.2023 20:17
                        +5

                        >>Наивно думать что Сталин не интересовались новейшими иследованиями

                        Ну так и Гитлер тоже читал книги и интересовался новейшими достижениями и преуспел даже лучше Джугашвилли.

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


                      1. randomsimplenumber
                        04.02.2023 20:21

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


                    1. SAWER
                      04.02.2023 20:11

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


              1. VT100
                04.02.2023 22:01

                Вырвано из контекста. Речь шла о попытках применения К. в общественных науках. О чём уже написали ниже.


        1. rdp
          06.02.2023 12:50
          +2

          Вспомните того же Сталина, читавшего книги по металлургии

          "Хороший политик" использует науку для достижения своих целей. Если наука не подходит, создаётся своя: маркститко-ленинская философия, Ahnenerbe...


          1. Keeper9
            06.02.2023 14:18

            Тем паче прискорбно, что современная РФ не осилила даже своё Аненербе.


          1. SCHWEJK
            06.02.2023 19:01
            -2

            Марксизм до сих пор изучается на Западе. Марксиско-ленинская философия в ходу в Китае, стране #2 по экономическим показателям.

            Аненербе - не наука, а оккультный орден.


    1. zkutch
      04.02.2023 12:00
      +1

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


    1. Tim_L
      06.02.2023 01:12
      +1

      Как серпом по колокольчикам. Был у нас тут "эффективный менеджер". У вендора было сырое ПО. И "эффективный менеджер" говорит, типа "хера тут делать то, допрограммируйте то-то и то-то и всё". Учитывая, что мы не программисты, возникает очень много вопросов. Человек даже не понимает сути, распределения времени, обязанностей и т.д. Но тем не менее менеджер и получает приличную котлету от проекта.


      1. iig
        06.02.2023 13:05

        Человек даже не понимает сути

        Возможно, наоборот, всё он понимает. Если ${vendor} не сделал ${feature} в своём ${product} - значит, есть в этом какие-то особенности. Не нужно быть великим программистом, чтобы сообразить. Возможно, ему наоборот интересно чтобы ${feature} не появилась. Может, у него в планах протолкнуть переход на ${newvendor}.


  1. Aquahawk
    03.02.2023 22:28
    +6

    Да ничего страшного, мне около 15 лет назад тоже на основе того, что выдаёт декомпилер байткода сказали что там делов то, вот перед скобочкой надо if добавить и дописать пару условий, в автоматическом режиме на произвольном бинарнике. Я попытался объяснить что править байткод без внятного инструментария такая себе идея. В попытке доказать что это невозможно я задачу таки решил, и вынес для себя очень важный урок, на тему глаза боятся, а руки делают. И менеджеры которые не понимают сложность реализации были всегда.


    1. YuriPanchul Автор
      03.02.2023 22:42
      +4

      Находить паттерны в байткоде и править - это вещь стремная, но если понимать риски, возможная. Тут другое. Тут есть два описания схемы, одна связана с архитектурной спецификацией (что блок должен делать), а вторая с микроархитектурной спецификацией (как он это делает). Все это объединено в рамках одного языка, но первое описание похоже на софтверные программы (блоки, которые отвечают на транзакции, в нем например нет тактового сигнала), а второе описывает аппаратные структуры (в нем есть тактовый сигнал, конвейер итд). Первое не будет превращаться в железо, а второе будет. Мучать первый тип кода чтобы он превратился во второй - это мечта менеджмента с начала 1990х (я это знаю, так как у меня был стартап на эту тему). Так вот ChatGPT спросили дать код, он дал код первого типа, а на запрос выдать код второго типа (синтезируемый) просто добавил к коду первого типа "always_comb" и сказал (сверкая честными глазенками) "готово".


      1. Aquahawk
        03.02.2023 22:45
        +4

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


      1. vkni
        03.02.2023 23:13
        +4

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


        1. Wesha
          04.02.2023 04:41

          Потому что тот, кто начальника нанимает и увольняет, некомпетентен ещё более, и не может отличить, кто ему больше пурги гонит — начальник или разработчик.


          1. vkni
            04.02.2023 06:39

            Я подозреваю, что всё немножечко сложнее.


            1. Wesha
              04.02.2023 07:09
              +1

              Я подозреваю, что всё немножечко сложнее.

              Это верно относительно практически любой человеческой деятельности.


        1. Aquahawk
          04.02.2023 07:59

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


      1. sshikov
        04.02.2023 09:35
        +2

        >и сказал (сверкая честными глазенками) «готово».
        А вы видели хоть один кусок кода, «написанный» ChatGPT, который был бы не таким? Я вот пока нет. Все что тут в статьях расхваливали, что вот оно, будущее настало, все что сам пробовал — оно на, мой взгляд, все примерно такое, как у вас получилось. То есть — на практике неприменимое. Несопровождаемое. И так далее. Без исключений.


  1. allex
    03.02.2023 22:40
    +7

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


    1. YuriPanchul Автор
      03.02.2023 22:57
      +1

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


      1. WASD1
        04.02.2023 17:18
        +1

        Мне кажется, что это два принципиально разных примера.

        В случае с Catapult C - вы можете обычными методами тестирования проверить правильность С-программы. И дальше - специфические тесты на транслятор Catapult C. То есть специфические тесты на ошибки в двух моделях.

        В случае же с ChatGPT у вас нет ни одной модели, верность которой вам проверять.


    1. vkni
      03.02.2023 23:15
      +2

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

      Ну с компиляторами ЯВУ как-то сжились. Да, придётся перегенерировать.

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

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


      1. allex
        03.02.2023 23:37
        +3

        Видимо, нужна принципиально другая постановка задачи. Компилятор - это не черный ящик, в него можно залезть и попробовать повысить его надежность. То есть, для зрелых проектов имеем, грубо говоря 99% с перспективой улучшения. Предположим, что ChatGPT дает на 95% работающий код. И получаем мы его с гораздо меньшей трудоемкостью. Но перспективы улучшения очень туманны. А получить халявный результат всё равно хочется :) Может быть придется идти по известному пути получения надежной системы из ненадежных компонентов? Резервирование и вот это всё? Три нейросети код генерируют, еще одна тестирует?


        1. vkni
          03.02.2023 23:43

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

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

          Резервирование и вот это всё? Три нейросети код генерируют, еще одна тестирует?

          Скорее компилятор тестирует. Вопрос — сколько времени эта генерация будет занимать?


          1. 76popugaev
            03.02.2023 23:48

            Нейросеть вполне может тесты нагенирировать — за счёт фактической бесплатности, в добавок к «happy path», можно нагенерировать для покрытия множества граничных и негативных сценариев.

            Обычно тестевые сценарии гораздо легче проанализировать, чтобы понять что покрытие правильное.


            1. vkni
              04.02.2023 00:11
              +2

              А зачем эти тесты, если они нагенерированы тем же методом из той же самой спецификации?


              1. 76popugaev
                04.02.2023 00:18

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


                1. vkni
                  04.02.2023 00:28

                  Ну мы же не тестируем компилятор, хотя он генерирует текст сильно «по мотивам». Тестированием компилятора заняты другие люди.

                  Нет, определённый смысл в этих тестах есть, но он, кмк, плохо раскрывается именно в «тестах». Скорее, переформулировка спецификации или ещё что-то.


            1. YuriPanchul Автор
              04.02.2023 07:13
              +3

              Вся суть верификации - это сравнение интерпретации спецификации четырьмя людьми:

              1. человеком, который реализует X;

              2. человеком, который реализует модель X;

              3. человеком, который пишет тесты для X и модели X, а потом сравнивает ответы X и модели X;

              4. и человеком, который проверяет полноту покрытия тестами плана верификации.

              Если эти люди совпадают (или если это делает одна и та же нейросеть) то имеется проблема


              1. allex
                04.02.2023 17:38

                А у 3 и 4 разве есть конфликт интересов? Их-то, вроде, можно совместить.


                1. YuriPanchul Автор
                  04.02.2023 19:53

                  Если 3 - лентяй, то он может сначала написать в плане тестирования слишком расплывчатые формулировки для тестирования определенных фич скажем "проверить работу команды сложения с константой", а потом, если он еще и 4, написать covergroups (это штука в SystemVerilog которое проверяет функциональное покрытие) которые ждут появления только сложения с константами 0, 1 и 101, и забыть про проверку покрытия сложения с отрицательными чистами.


    1. gBear
      03.02.2023 23:31
      +8

      Было же уже сильно похожее, когда в начале, емнип, 2000х сильно баловались с fpga и "генетическими алгоритмами".

      Конечный результат - насколько я помню - был примерно такой. На выходе получалась "нех", которая непонятно как "то работает, то не работает". Порой получались даже варианты, которые "работали" без гтч. Анализу "нех" поддавались, мягко говоря, плохо (на то оно и "нех"). Типа, убирание "бессмысленных" ячеек, убивало схему. Или "нех" могла норм работать, в одном участке матрицы, и "вообще не работать" в другом. Могла сильно зависеть от температуры, например. А могла и не сильно.

      Поигрались, посмотрели... сказали: " потрачено" и, насколько я понимаю, на этом все и закончилось :-)


      1. Wesha
        04.02.2023 04:47
        +6

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

        Источник

        Самая мякотка

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

        При этом 5 ячеек из оставшихся 32 вообще не выполняли никаких логических функций, способных влиять на выход. Тем не менее, при их отключении тут же прекращалась и работа схемы, т.е. различение сигналов разной частоты. Очень похоже на то, что эволюцией были задействованы какие-то физические свойства этих ячеек — возможно, емкостный эффект или электромагнитная индукция — чтобы влиять на сигнал, проходящий поблизости. Неким неведомым образом этот тонкий эффект от “посторонних” ячеек сыграл свою роль и был интегрирован в окончательное решение.


        1. odins1970
          04.02.2023 06:12

    1. miga
      04.02.2023 17:36

      Что самое смешное, это уже один раз произошло в микроэлектронике.
      Вместо лаконичной, компактной и красивой, любовно нарисованной руками топологии чипов теперь везде адская синтезированная мешанина :)


      1. YuriPanchul Автор
        04.02.2023 19:54
        +1

        Лаконичности и красивость просто переместилось на микроархитектурные диаграммы и RTL код. Но переместить это на слова - я в это не верю.


    1. orenty7
      05.02.2023 00:44

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


    1. Brenwen
      05.02.2023 20:28
      +2

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


  1. Tuxman
    03.02.2023 23:28
    +4

    Luxoft/EPAM/Auriga, типичный аутсорсный проект - сроки сдачи вчера, но код уже весь есть, правда не компилируется, там просто поправить немного, ведь Индусы на аутсорсе уже всё сделали. Внимание вопрос, чем это отличается от того, что предложил тебе Менеджер+ChatGPT связка? ;-)


    1. TSobolev
      05.02.2023 18:24

      Ценой.


  1. Biga
    03.02.2023 23:59
    +12

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


    1. Yukr
      04.02.2023 07:30
      +3

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


      1. acsent1
        04.02.2023 09:47

        Такая тема реально была популярна одно время


      1. TSobolev
        05.02.2023 18:31

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


        1. Yukr
          05.02.2023 22:13
          +1

          "Узнавать - хорошо, рассуждать здорово"! Мы с вами одной крови ))


  1. aamonster
    04.02.2023 01:42
    +5

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

    Я предполагаю (если chatGPT взлетит) другую проблему: она будет периодически генерить неверный код без видимых невооружённым глазом ошибок. И чтобы его исправить – понадобится очень квалифицированный программист.


    1. Aniro
      04.02.2023 01:56
      +13

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


      1. acsent1
        04.02.2023 09:51
        +3

        Это, примерно, аналогично тому, когда ты приходишь на легаси проект.


      1. Areek
        04.02.2023 22:35

        Знаете, я развлекался копипастой в Юнити со Стековерфлоу. В 4 случаях из 5 мне нужно было 3-4 примера, из которых я делал кадавра. В последнем пятом я понимал сам метод и писал тоже сам, уже по мануалам функций и процедур (за название не отвечу, терминологию не учил совсем). Всё равно приходится знать самому на уровне выполняемой задачи, будь то алгоритм движения или парсинг строк (простейшее).


  1. old_bear
    04.02.2023 05:15
    +5

    Это не сильно отличается от достаточно регулярно возникающей ситуации вида "вот смотри, уже есть готовый алгоритм на С, надо только синтаксис под Verilog поправить и готово". Просто при появлении новых инструментов человеческая глупость умножается на их возросшую производительность.

    IMHO намного большая проблема всех этих GPT - это то что в массовом сознании достоверность обесценивается в пользу правдоподобности. Хорошо когда условный код можно относительно быстро и автоматизированно проверить хотя бы по критерию работоспособности, а вот проверить фактическую достоверность нагенерённых "статей"...
    В общем ждём весёлых историй вроде "ChatGPT посоветовал выпить метилового спирта для дезинфекции желудка".

    P.S. Юрий, я думаю что вам не стоит беспокоиться по крайней мере до тех пор пока ChatGPT не научится применять кредитные счётчики. :)


    1. Wesha
      04.02.2023 05:32
      +1

      ждём весёлых историй вроде "ChatGPT посоветовал выпить метилового спирта для дезинфекции желудка".

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


    1. MagisterAlexandr
      04.02.2023 09:50

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

      Ну да.

      Давеча, мне прилетел комментарий к статье:

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


  1. ValeriyPu
    04.02.2023 06:17
    +1

    Удивительно, на youtube говорят другое - и асинхронные очереди, и машины состояний, и параметризируемые модули - все выходит вместе с testbench и комментариями.

    https://www.youtube.com/watch?v=OoI2eHeK3Og


    1. YuriPanchul Автор
      04.02.2023 07:25
      +7

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

      1. 16-битный сумматор - ну это грех не написать.

      2. FIFO - оно там написано неоптимально, не так как принято писать FIFO в электронных компаниях, но как проще писать студентам. Я это разбирал вот здесь - https://habr.com/ru/post/713122/#comment_25162646

      3. Простейший конечный автомат.

      Да, я согласен, что если ChatGPT сказать "напиши сумматор", он его напишет, но уже арбитры он писать не умеет - вместо round robin пишет приоритетный арбитр, а на возражение "это не round robin, а приоритетный арбитр" пишет "извините, ошибся" - и снова пишет приоритетный арбитр.

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


      1. MagisterAlexandr
        04.02.2023 11:46
        +1

        То есть оно может писать простейшие компоненты, которые можно нагуглить

        Получается, ChatGPT это дополнение к Google Search.


        1. Denis42
          05.02.2023 09:31
          +2

          Да. Это не более чем продвинутый поисковик. Норм. код FIFO можно и в google найти. А можно найти с ошибками. Все то же самое.


      1. Brak0del
        04.02.2023 20:19
        +1

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

        Как уже упоминали в комментах выше, выборка SystemVerilog кода очень мала: на github порядка 3К репозиториев содержат SystemVerilog код, 18К Verilog и 16К VHDL. Сравните с 5М+ для Java и с 3М+ для Python. Хардверный дизайн очень закрытая область.

        По SystemVerilog была ещё и проблема с поддержкой тулзами. Насколько мне известно в той же Vivado (EDA для ПЛИС Xilinx) более-менее полную поддержку синтезируемого подмножества SystemVerilog подвезли года с 2019, до этого там постоянно надо было держать ухо востро и сверяться с мануалом, поддерживает ли ту или иную конструкцию эта версия синтезатора. Несинтезируемое подмножество и того позже. Отсюда вопрос: на чём вообще электронный мозг мог бы научиться, если большая часть SystemVerilog кода -- это закрытые наработки фирм?


  1. tessob
    04.02.2023 06:44

    Вы, как мне кажется, пытаетесь лишить «эффективного» менеджера обратной связи от системы, которой он управляет. Если сгенерированный менеджером код приведёт к тому, что чип «будет размером с чемодан, а задержка на котором будет не пикосекунды, а секунды» — значит это не является критериями оптимизации. Просто, ввязываясь в борьбу с менеджером, Вы мешаете ещё одному менеджеру практически доказать, что управление инженерами не делает из него самого инженера.

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


    1. vkni
      04.02.2023 07:09
      +6

      Просто через пару чемоданов владельцы бизнеса отправят менеджера на мороз.

      А перед этим сам менеджер отправит нескольких неповинных из команды на мороз под лозунгами — эти саботировали.


  1. anzay911
    04.02.2023 07:02
    +2

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


  1. MagisterAlexandr
    04.02.2023 09:28

    Читая заголовок, подумал, что речь будет о другом (нужен узел ZeroNet).

    А описанная в статье ситуация, несоответствие реальности ожиданиям, происходит и без ИИ, и балансится.


    1. YuriPanchul Автор
      04.02.2023 10:17
      +7

      Это еще что за хрень, со ссылкой на 127.0.0.1:43110 ?


      1. MagisterAlexandr
        04.02.2023 11:15
        -5

        Вы перестали пить коньяк по утрам?

        P. S. У кого открывается 127.0.0.1:43110, ставьте лайк. :-)


        1. YuriPanchul Автор
          04.02.2023 11:20

          Это ссылка из вашего коммента. То ли какая-то неизвестная мне технология, то ли троян. Вот и спрашиваю, надеясь на лучшее.


          1. MagisterAlexandr
            04.02.2023 11:23
            +1

            В комменте есть ещё вторая ссылка, на ту самую неизвестную технологию.


            1. YuriPanchul Автор
              04.02.2023 11:31
              +1

              Ну хорошо :-)



    1. GDragon
      06.02.2023 18:35
      +3

      Я правильно понимаю что вот это извращение с ZeroNet ради ссылки на washingtonpost и одного! ОДНОГО КАРЛ! комментария к ней?

      p.s.
      https://www.washingtonpost.com/business/energy/google-faces-a-serious-threat-from-chatgpt/2022/12/07/363d2440-75f5-11ed-a199-927b334b939f_story.html
      defder ━ on Jan 24, 2023 (modified on Jan 24, 2023)

      So, humans should develop efficient anti-spam system.

      Now, each user can post something to people.
      In the future, each new user/identity will have to prove his worth first.


  1. penetration
    04.02.2023 09:47
    -4

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

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

    К таким вещам ее подключат, а вот к нахождению лекарства от спида не захотят наверное.

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


    1. MagisterAlexandr
      04.02.2023 09:56
      +6

      А ещё найдутся желающие использовать нейросети для вандализма, цензуря уже вышедшие произведения. Такой вот извращённый вариант "451 градус по Фаренгейту".

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


  1. akurilov
    04.02.2023 11:52
    +1

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


  1. nonickname227
    04.02.2023 12:30
    +1

    С менеджером надо на менеджерском. А если попробовать сгенерить на ChatGPT что-нибудь из его сферы деятельности, пусть попробует довести до ума и внедрить? Правда в менеджменте наблюдается явный недостаток простых объективных критериев типа работает/не работает, в отличие от всяких железяк и программ. И поэтому нельзя исключить, что в результате может родиться отчет об успешном "освоении и внедрении" менеджментом новейших лучших управленческих практик.
    Да, такой сценарий использования ChatGPT и вправду малость жутковат.


    1. Myclass
      04.02.2023 18:47

      Всё правильно сказали. В менеджменте только такие и похожие критерии работают - экономим, не важно, сколько нам это будет стоит.


    1. PereslavlFoto
      05.02.2023 03:59

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


  1. themen2
    04.02.2023 16:34
    +3

    Подскажите, в какой уровень зарплат у проектировщиков плат, cpu, gpu ? Просто любопытно. Со стороны кажется , что область довольно наукоемкая и сложная , а вот адекватность ЗП вызывает сомнения;)


    1. YuriPanchul Автор
      04.02.2023 19:59

      Вы про зарплаты в России или в Silicon Valley? В Silicon Valley зарплаты примерно на том же уровне что и у продвинутых писателей на C++ (типа для инфораструктуры облака или компиляторов). Про Россию у меня слишком отрывочные знания про зарплаты.


      1. themen2
        04.02.2023 20:18
        +4

        А сколько это в тысячах долларов в год до налогов? +-.

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

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


        1. YuriPanchul Автор
          05.02.2023 04:15
          +2

          Широкая вилка от $150K (юный инженер) до $350K (супергуру аркитект).Старшие инженеры - $200K-270K. Отдельная тема - бонусы (порядок 20%) и опционы.


          1. themen2
            05.02.2023 12:35

            Хорошие ЗП


            1. PsyHaSTe
              05.02.2023 19:44

              По сравнению с кем? Супергуру в фаанге (или уже манге?) получать будут в пару раз больше


              1. themen2
                06.02.2023 00:29

                Это да;). Но и менеджер по хардварным проектам тоже небось будет больше получать.


        1. Moskus
          06.02.2023 04:03

          Мотивация может быть очень разная. Например, всё что связано с производственными технологиями, более объективно. Приблизительно как писал Маяковский:

          Нецензурное

          Силу в кулак, волю в узду, в работу впрягайся с маху.
          Выполнил план - посылай всех в п...у, не выполнил - сам иди на х..!

          Мне, например, куда легче живется от того, никто не может сказать мне, что результат моего труда - искомый, но путь достижения результата - "какой-то не такой". Хотя моя область - еще более "приземленная", чем разработка железа - автоматизированная металлообработка.


          1. YuriPanchul Автор
            06.02.2023 04:08

            Сильно :-)


          1. Cerberuser
            06.02.2023 07:35
            +1

            Приблизительно как писал Маяковский:

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


            1. Moskus
              06.02.2023 08:02

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


          1. themen2
            06.02.2023 09:17

            .Не понял насчёт объективности.

            Как раз таки математика и как следствие программирование самые что ни на есть объективные - программа выполняет ровно то, что написано, а не то, что хочется;).

            Можно даже формально доказывать корректность программ.

            Пощупать результаты труда, тут да, согласен .

            Но уровень ЗП все же играет роль, капитализм никто не отменял)


            1. Moskus
              06.02.2023 21:14

              Вы фразу про искомый результат и субъективность оценки выбора пути его достижения пропустили?


    1. justPersonage
      05.02.2023 09:51
      +1

      Честно говоря кажется что это потяжелее программирования

      Микроэлектроника и программирование по разному дают нагрузку на мозг.

      Микроэлектроника меньше нагружает мозг чем программирование Senior С#(полный стэк) в какой нибудь фирме.
      В отрасли программирования надо чаще переучиваться чем в микроэлектронике.

      Программирование вход легкий но работать в долгую тяжелее.
      Микроэлектроника вход тяжелый но работать в долгую легче.

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


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

      В чем мотивация инженеров этим заниматься,

      Интересно.+ видишь результат своей работы + меньше сидишь за монитором.
      Я кстати не слышал тут на хабре, чтобы микроэлектроники психологически выгорали.
      А вот фулстэкеры(стильно модно молодежно) бывало тут на хабре писали как они выгорели.


      1. themen2
        05.02.2023 12:02

        Возможно, да


      1. firehacker
        05.02.2023 18:47

        меньше сидишь за монитором.
        А за чем сидишь?


        1. Yamazaki123
          06.02.2023 11:31

          Фен, паяльник, осциллограф, логический анализатор. За компом тоже сидишь: Altium, KiCAD, Cadece allegro, симуляторы, пакеты для конечно-элементного моделирования.


  1. Myclass
    04.02.2023 17:28
    +1

    Вы затронули правильную тему. И понимающие люди видят в этом проблему. Но на это будут всё равно миллиарды выданы. Чтобы потом всё это забыть. Точно также как с "убийцами" программистов - case программами. Которые в конце 90-х ну из каждого утюга нам обещали, что вскоре не надо будет вообще программировать, только стрелочки соеденить визуально.


    1. YuriPanchul Автор
      04.02.2023 20:00

      Да, тоже про CASE при писании заметки вспоминал


  1. IgorDev
    04.02.2023 17:59

    А если боту эту статью скормить он сможет исправить и сделать как надо? :)


  1. lexxsu
    04.02.2023 18:24

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

    Странно, что никто не подумал о другом, о тестировании кода, это же следующая итерация линта (AFL) или Formal для Jasper-а или даже отдельный продукт. Неважно, что за код это будет, но SVA будет соответствовать описанию на проект. Так что это скорее конец верификации, а не дизайну.


    1. YuriPanchul Автор
      04.02.2023 20:10

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

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

      Насчет SVA - ну ChatGPT возможно и можно надрессировать на писание простых SVA, типа "напиши concurrent assertion что valid после перехода от 0 к 1 должен стоять 1 пока не случится valid=1 & ready=1 на положительном фронте тактового сигнала". Но это небольшая часть верифиации вообще-то, да и я сомневаюсь, что тренирующие студенты в Южной Америке и Восточной Европе надрессируют на нетривиальные concurrent assertions (я интервьирую кучу студентов, то бишь я знаю)


      1. lexxsu
        04.02.2023 21:02

        Не нужен нетривиальный concurent assertion, когда тул позволит сделать 100 immediate assertion. Мне видится в этом куча возможностей, в принципе, AFL сейчас так и работает.


        1. YuriPanchul Автор
          04.02.2023 21:18

          То есть тул на основе текста микроархитектурной спецификации будет анализировать код и расставлять assertions? Это звучит как хотелка, а не нечто что реально доступно в текущих технологиях. То есть что-то расставлять он будет, но во многих местах будет тупо и бесить. Хотя это может быть деятельность для убивания энтузиазма интернов - дать им подчищать assertions, расставленные ChatGPT.


          1. lexxsu
            04.02.2023 21:24

            Именно так, пусть тупо, но лучше чем ничего.

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


            1. YuriPanchul Автор
              04.02.2023 21:34

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


              1. lexxsu
                04.02.2023 21:38

                Я был бы только рад увидеть следующую итерацию Jasper-а, посмотрим что будет далее.


  1. Denis42
    04.02.2023 20:00
    +1

    Менеджер, который "пишет код" с помощью ChatGPT - это уже не менеджер. Скорее это разработчик, который пишет код с помщью stack overflow или google. Куда веселее было, если бы код так и синтезировался, ушел в чип, и через год аукнулся критической ошибкой и полным редизайном.


    1. lexxsu
      04.02.2023 21:25

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


  1. habraabr
    04.02.2023 20:00

    А ведь заголовок не подвел. Ожидаемо неожиданно


  1. I_Love_Misato
    04.02.2023 20:10
    +6

    Ещё более жуткий сценарий. Менеджер, сам являющийся нейросетью ChatGPT, присылает вам сгенерированную им же программу, чтоб вы её отладили.


    1. PereslavlFoto
      05.02.2023 04:03

      Это типичная ситуация, только надо поменять два слова.

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


      1. saaivs
        05.02.2023 15:16
        +2


  1. RumataEstora
    05.02.2023 18:56
    +2

    Глубоко не всматривался, но сразу бросилось в газа - красивые, строго структурированные строки.

    Можно заменить строки вида

    if [ -z "${var-}" ]
    then
        export var="..."
    else
        export var="$var:..."
    fi

    на следующую

    export var="${var+$var:}..."


    1. YuriPanchul Автор
      06.02.2023 01:17

      А не выругается в комбинации с таким?

      set -u # Causes the bash shell to treat unset variables as an error and exit immediately.


      1. RumataEstora
        06.02.2023 06:31

        Нет. Не выругается и не завершится с ошибкой. Единственное, что я поправил бы в своем предыдущем ответе - переписать в виде ${var:+$var:} - выполнить подстановку, если переменная существует и не пустая строка (в отличие от первого варианта, который подразумевает только проверку на существование переменной).


        1. YuriPanchul Автор
          06.02.2023 07:02

          А, спасибо


  1. uryevich
    06.02.2023 01:14

    Вы придумали ситуацию, от которой Вас "бомбануло"? Странная ситуация..


  1. balamutang
    06.02.2023 11:46

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

    Зачем решать административные проблемы техническим методом? ТЗ инженеру должен писать инженер


  1. Gold_fish
    06.02.2023 11:58
    +2

    Читая срач о менеджерах в очередной раз убеждаюсь, что современное ИТ свернуло не туда. Концепция менеджера не разбирающегося в предметной области призвана защитить технарей от давления со стороны менеджмента. РМ, по определению, не имеет права вносить свои субъективные правки в оценку экспертов. И именно у "разбирающегося" РМ возникает этот соблазн.

    Проблема в ИТ остро стала когда РМ превратился из отдельной специальности в часть карьерной лестницы, и РМами начали становится те кто именно "разбирается". Еще и на плечи РМа взвалили обязанности консультанта/аналитика.

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


  1. ev_i
    06.02.2023 12:01

    Побочная тема: как поживают автотрассировщики печатных плат и авторасстановщики компонентов (не установщики на этапе монтажа, а "размещатели" на плате перед трассировкой)?

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

    Максимум что застал, пока не ушёл из отрасли - интерактивная трассировка: контроль зазоров, длин трасс.

    Может тут AI помочь?


    1. Jianke
      06.02.2023 15:38

      Нужна специализированная нейросеть.

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


  1. Opaspap
    06.02.2023 17:38
    -1

    Берешь этот код, c коментами и пишешь чатгпт:

    "Этот код не синтезируемый, напиши пожалуйста такой, же но синтезируемый <>"

    Если начинает опять инструкции не те слать , так ей и написать - код несинтезируем, потому что


    1. YuriPanchul Автор
      06.02.2023 20:38
      +1

      Дык человек в обсуждаемом закрытом посте это и сделал. На что ChatGPT присобачил к несинтезируемому коду сверху конструкцию always_comb и с честными глазенками сказал "вот!" Синтезируемость это никак не меняет. При этом бесит, так как вызывает образ вежливого, но очень тупого человека.


  1. TedBeer
    06.02.2023 17:39

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


    1. Keeper9
      06.02.2023 17:44

      Что это была за фича?


  1. steadyI
    06.02.2023 19:53

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

    1. Используя ИИ генерировать скрипты для выманивания данных сберкарт.

    2. Использовать ИИ для обработки профилей из соцсетей + слитые базы для определения целевой аудитории, на кого воздействовать этими скриптами.

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

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


  1. slammed
    06.02.2023 21:17

    После обсмотрения всякой «чешуи» (в прямом и переносном смыле), которую генерят нейронки для художественных целей, я стал спокоен за UI-дизайнерскую работу. Между тем, что получается в качестве картинки даже с простынёй уточняющих параметров и тем, что делают дизайнеры интерфейсов, например, макеты и прототипы, есть принципиальная разница. Такая же, как между словами «красиво» и «работает».