Я простой контрактник, получаю оплату за рабочие часы, никакого карьерного роста в корпорации мне в принципе не грозит. Моя задача - прийти, поскорее врубиться в проект и спокойно выдавать на-гора требуемый от меня код. Ваш бардак - ваши проблемы, меня это не интересует, самое большее - оповещу о потенциальной проблеме своего непосредственного менеджера.
Вспоминается случай еще в одной почти-госкомпании (колледже для сертификации неких специалистов), как раз перед пандемией. Обычный проект: пользователь заходит в "личный кабинет" и может делать там какие-то действия, в том числе - сгенерировать и скачать свой инвойс в PDF. Для скачивания предоставляется ссылка с идентификатором инвойса, идентификатор - не случайный GUID, а обычное число.
Господа знатоки, внимание - вопрос: если увеличить это число на единицу - чей инвойс вы скачаете? В общем, вы поняли - любой инвойс мог быть запрошен без какой-либо аутентификации, тупо по его порядковому номеру в базе. Слегка эмм... удивившись, я показал этот фокус коллеге - русскоязычной девушке из Армении, кстати - и задал вполне логичный вопрос: где этот код и кто за него отвечает? Оказалось, что этот кусок сделан какой-то сторонней компанией, к нашей команде не имеет никакого отношения, где код она понятия не имеет, но скажет своему менеджеру, чтобы тот посмотрел.
Через пару недель началась пандемия, нас сначала поотправляли по домам, а еще через три месяца мой контракт разорвали за ненадобностью, с чем я даже согласен - задач для меня там почти не было, я тупо сидел дома и ничего не делал. Спустя год я случайно вспомнил про этот баг, залез в то приложение через сервисный аккаунт - баг был все еще на месте, любой инвойс можно было скачать просто изменив id в URLе.
Вы не представляете, сколько бардака в больших корпорациях и больших проектах. Тот проект был частью большого журнала Chatelaine, принадлежащего корпорации Rogers и представлял из себя древний легаси-код, к которому я два года писал обновления. Собственно, это был мой первый опыт работы по контракту, и мне понравилось настолько, что с тех пор я уже семнадцать лет как контрактник.
Чтоб вы понимали масштаб трагедии - чтобы делать deploy в продакшен, мне пришлось самостоятельно УГАДАТЬ пароль от продакшен-сервера, потому что мне его знать не полагалось, а ответственных за этот сервер уже давно уволили. К счастью, пароль оказался одинаковым с паролем от дев-машины, созданной, видимо, в одно время. Никакого CI/CD там не было (справедливости ради, это понятие в те времена еще только начиналось), поэтому деплой я делал путем копи-пейста скомпилированных библиотек и форм фронт-энда. Начальство об этом моем самоуправстве узнало только когда ему самому зачем-то понадобилось влезть на этот сервер, я ввел пароль и услышал "а откуда ты его знаешь???". И да, я уже упомянул, что никакого отдела QA или DevOps на проекте не было в принципе?
Сервис индексации базы данных крутился на той же машине, в отдельном сервере Apache Tomcat. База была довольно приличная (сотни тысяч кулинарных рецептов, ингридиентов, оценок и комментариев), а машина, как вы поняли, была создана за много лет до того, как я пришел на проект. И, как я понял, это приложение с рецептами лежало там много лет, до того момента, как о нем вспомнили, "причесали", прорекламировали для пользователей, и... сервер не выдержал нагрузки и лег.
Ну... мне в начале карьеры приходилось решать проблемы уровня "индекс-сервис работает нормально в dev-environment, но падает на проде из-за недостатка памяти". Как оказалось, приложение прорекламировали, трафик возрос многократно и памяти VM-ки перестало хватать. Ничего, разобрался, хотя несколько дней на это ушло. Сейчас - решаю проблемы от "ускорить загрузку фронт-энда" до "настроить Message Queue между микросервисами в Azure". И всё это на должности Senior Developer, вернее - контрактник, работающий на уровне Senior.
А как этот вопрос решается с "кожаными" водителями?
Если у автобуса отказывают тормоза и прочее - в этом виновата фирма, эксплуатирующая автобус. За поврежденную дорогу и отсутствующие знаки несут ответственность государственные службы по ремонту дороги. Автопилот - это всего лишь ОЧЕНЬ хороший водитель. И не надо взваливать на него ответственность за каждую яму, "джигита" или пьяного пешехода на перекрестке.
Более того, я имею основания предполагать, что автоуправляемые автомобили будут в среднем попадать в аварии реже, чем живые водители. И это скажется, прежде всего, на стоимости страховок для владельцев таких автомобилей. Когда разница в цене между не-автоматическим и автоматическим автомобилями будет окупаться за пару лет платежа страховки - ручное управление резко выйдет из моды.
В случае, если Правила Дорожного Движения соблюдаются всеми участниками дорожного движения - авария произойти не может. Значит, в случае дорожного происшествия - ответственность однозначно лежит на том участнике, который нарушил правила.
Подразумевается, что робомобиль - это ОЧЕНЬ хороший водитель, с микросекундной реакцией и ВСЕГДА соблюдающий ПДД. Соответственно, ДТП может произойти ТОЛЬКО в случае нарушения Правил "кожаным ублюдком". На нем же лежит и ответственность за все возможные последствия его действий.
Робот обязан сохранить жизнь и здоровье, прежде всего, своих пассажиров (за которых отвечает компания-производитель робота), затем - жизни "невиновных и непричастных", затем - жизнь виновника ДТП. Соответственно, никакой этической дилеммы типа "давить ребенка на проезжей части или старушку на тротуаре" не возникает - за выбежавшего на дорогу ребенка отвечают его родители, и в его смерти будут виноваты они, а старушка никаких правил не нарушает, и в ее смерти будет напрямую виновата компания, эксплуатирующая робомобиль.
Отвернуть и разбиться об стену, чтобы спасти пешехода - тоже вариант, который должен быть предусмотрен... если машина едет без пассажиров. Если в результате ДТП пострадают только железяки - то им не больно. Ремонт поврежденных железяк должен быть обеспечен соответствующими страховками и компенсациями со стороны виновника ДТП.
150 тысяч долларов за одноместный девайс, способный летать на одной зарядке 10-15 минут? Эмм...
Для сравнения, Pipistrel Electro - легкий двухместный электрический самолет, который на рынке позиционируют как очень удобный вариант для аэрошкол - стоит (вместе с зарядной станцией) примерно столько же, но летает 40-60 минут. Его версия с ДВС - в два раза дешевле и раза в три больше по длительности полета.
И что за чудо-генератор предлагается ставить на этот пепелац? Судя по тому, что "FPE Generator" даже толком не гуглится - только схемы из патента, ни одной даже рабочей модели еще не построено - считаю его даже не научной фантастикой, а сказкой.
Живу в Канаде. В прошлом году, в разгар КОВИДа, у отца был сердечный приступ. Вызвали амбуланс, отвезли в больницу, сделали операцию, все в порядке.
Сама операция была абсолютно бесплатной, но за вызов амбуланса пришлось заплатить, кажется, 40 долларов. Смысл этого в том, что "скорая" - это просто очень дорогое такси до больницы. Она никого не лечит и не должна лечить, не оказывает никаких услуг на дому - задача парамедиков всего лишь довезти больного до больницы и сдать его врачам. И с этой задачей - стабилизировать пострадавшего и довезти его до больницы живым - парамедики справляются гораздо лучше, чем образованные и сверхдорогие врачи.
Ну и, соответственно, если ты отказываешься ехать в больницу - это автоматически оформляется, как ложный вызов. С соответствующим штрафом, чтобы впредь не возникало даже желания "вызвать скорую на дом".
Очередной некорректный прием дискуссии - апелляция к личности. Если действия человека отличаются от того, что он предлагает делать другим - значит, сам человек "плохой", но его слова вполне могут быть верными. Если полицейский или политик, который призывал других не пить за рулем, будет пойман пьяным за рулем - это не будет означать, что его призыв "не пить за рулем" неверен, и за рулем можно пить. Это будет означать всего лишь, что он сам нарушил правило, которое призывал соблюдать. "Если Гитлер говорил, что 2+2=4 - мы не будем спорить с этим на основании того, что Гитлер - сволочь".
Во-первых, я свою "теорию" насчет КОВИДа не высказывал. Обратите внимание - в моем комментарии про КОВИД ни слова нет. Я не говорил, что локдауны спасают от ковидлы, что маски спасают от ковилды, что вакцинации от неё спасают и ещё море других теорий - и не надо приписывать мне слова, которых я не говорил. Это называется "Straw man fallacy" и является некорректным приемом ведения дискуссии.
Во-вторых, я не знаю, откуда вы взяли эти графики "предсказано и реальность". Кто именно и когда предсказывал, где взяты "реальные" графики? Учитывались ли в этих графиках маски, локдауны и другие сдерживающие пандемию факторы? Может быть, эти графики как раз и свидетельствуют о том, что сдерживающие меры были необходимы и применены правильно, раз негативный прогноз не сбылся?
Я просто привел свой критерий, который я применяю для валидации даже не столько гипотез (в том числе и своих), сколько самого собеседника. Без разницы, высказывает человек мнение, что "маски помогают/не помогают" или что "Земля плоская" - я задаю вопрос: что должно произойти, чтобы вы признали свое мнение ошибочным? Научное знание, кстати тем и отличается от религиозного (или конспирологического), что отвечает критерию Поппера. Проще говоря - наука умеет признавать свои ошибки и делать из них выводы. Умеете ли Вы?
Каждый раз, когда мне рассказывают очередную конспирологическую (или вполне адекватную) теорию - я предлагаю ответить на простой вопрос.
Что должно произойти, чтобы лично Вы признали свою теорию ошибочной?
По большому счету - я применяю критерий Поппера не к научному знанию, а к личному мнению. Теория заговора будет нефальсифицируема по определению - какие бы ни приводились аргументы в пользу ее несостоятельности, конспиролог всегда будет изворачиваться и плодить новые сущности.
Насчет тракторов — я не понимаю. Насколько я знаю, в Штатах особым законом положено, что частные авторемонтные мастерские должны иметь такой же доступ ко всей документации всех марок автомобилей, как и официальные дилерские центры. Этот закон был принят именно чтобы отвязать автовладельцев от монополии производителей на ремонт и позволить любому «дяде Васе из гаража» с набором стандартных ключей и китайским диагностическим компьютеров ремонтировать автомобили по разумной рыночной цене.
Я простой контрактник, получаю оплату за рабочие часы, никакого карьерного роста в корпорации мне в принципе не грозит. Моя задача - прийти, поскорее врубиться в проект и спокойно выдавать на-гора требуемый от меня код. Ваш бардак - ваши проблемы, меня это не интересует, самое большее - оповещу о потенциальной проблеме своего непосредственного менеджера.
Вспоминается случай еще в одной почти-госкомпании (колледже для сертификации неких специалистов), как раз перед пандемией. Обычный проект: пользователь заходит в "личный кабинет" и может делать там какие-то действия, в том числе - сгенерировать и скачать свой инвойс в PDF. Для скачивания предоставляется ссылка с идентификатором инвойса, идентификатор - не случайный GUID, а обычное число.
Господа знатоки, внимание - вопрос: если увеличить это число на единицу - чей инвойс вы скачаете? В общем, вы поняли - любой инвойс мог быть запрошен без какой-либо аутентификации, тупо по его порядковому номеру в базе. Слегка эмм... удивившись, я показал этот фокус коллеге - русскоязычной девушке из Армении, кстати - и задал вполне логичный вопрос: где этот код и кто за него отвечает? Оказалось, что этот кусок сделан какой-то сторонней компанией, к нашей команде не имеет никакого отношения, где код она понятия не имеет, но скажет своему менеджеру, чтобы тот посмотрел.
Через пару недель началась пандемия, нас сначала поотправляли по домам, а еще через три месяца мой контракт разорвали за ненадобностью, с чем я даже согласен - задач для меня там почти не было, я тупо сидел дома и ничего не делал. Спустя год я случайно вспомнил про этот баг, залез в то приложение через сервисный аккаунт - баг был все еще на месте, любой инвойс можно было скачать просто изменив id в URLе.
Вы не представляете, сколько бардака в больших корпорациях и больших проектах. Тот проект был частью большого журнала Chatelaine, принадлежащего корпорации Rogers и представлял из себя древний легаси-код, к которому я два года писал обновления. Собственно, это был мой первый опыт работы по контракту, и мне понравилось настолько, что с тех пор я уже семнадцать лет как контрактник.
Чтоб вы понимали масштаб трагедии - чтобы делать deploy в продакшен, мне пришлось самостоятельно УГАДАТЬ пароль от продакшен-сервера, потому что мне его знать не полагалось, а ответственных за этот сервер уже давно уволили. К счастью, пароль оказался одинаковым с паролем от дев-машины, созданной, видимо, в одно время. Никакого CI/CD там не было (справедливости ради, это понятие в те времена еще только начиналось), поэтому деплой я делал путем копи-пейста скомпилированных библиотек и форм фронт-энда. Начальство об этом моем самоуправстве узнало только когда ему самому зачем-то понадобилось влезть на этот сервер, я ввел пароль и услышал "а откуда ты его знаешь???". И да, я уже упомянул, что никакого отдела QA или DevOps на проекте не было в принципе?
Сервис индексации базы данных крутился на той же машине, в отдельном сервере Apache Tomcat. База была довольно приличная (сотни тысяч кулинарных рецептов, ингридиентов, оценок и комментариев), а машина, как вы поняли, была создана за много лет до того, как я пришел на проект. И, как я понял, это приложение с рецептами лежало там много лет, до того момента, как о нем вспомнили, "причесали", прорекламировали для пользователей, и... сервер не выдержал нагрузки и лег.
Ну... мне в начале карьеры приходилось решать проблемы уровня "индекс-сервис работает нормально в dev-environment, но падает на проде из-за недостатка памяти". Как оказалось, приложение прорекламировали, трафик возрос многократно и памяти VM-ки перестало хватать. Ничего, разобрался, хотя несколько дней на это ушло. Сейчас - решаю проблемы от "ускорить загрузку фронт-энда" до "настроить Message Queue между микросервисами в Azure". И всё это на должности Senior Developer, вернее - контрактник, работающий на уровне Senior.
А как этот вопрос решается с "кожаными" водителями?
Если у автобуса отказывают тормоза и прочее - в этом виновата фирма, эксплуатирующая автобус. За поврежденную дорогу и отсутствующие знаки несут ответственность государственные службы по ремонту дороги. Автопилот - это всего лишь ОЧЕНЬ хороший водитель. И не надо взваливать на него ответственность за каждую яму, "джигита" или пьяного пешехода на перекрестке.
Более того, я имею основания предполагать, что автоуправляемые автомобили будут в среднем попадать в аварии реже, чем живые водители. И это скажется, прежде всего, на стоимости страховок для владельцев таких автомобилей. Когда разница в цене между не-автоматическим и автоматическим автомобилями будет окупаться за пару лет платежа страховки - ручное управление резко выйдет из моды.
В случае, если Правила Дорожного Движения соблюдаются всеми участниками дорожного движения - авария произойти не может. Значит, в случае дорожного происшествия - ответственность однозначно лежит на том участнике, который нарушил правила.
Подразумевается, что робомобиль - это ОЧЕНЬ хороший водитель, с микросекундной реакцией и ВСЕГДА соблюдающий ПДД. Соответственно, ДТП может произойти ТОЛЬКО в случае нарушения Правил "кожаным ублюдком". На нем же лежит и ответственность за все возможные последствия его действий.
Робот обязан сохранить жизнь и здоровье, прежде всего, своих пассажиров (за которых отвечает компания-производитель робота), затем - жизни "невиновных и непричастных", затем - жизнь виновника ДТП. Соответственно, никакой этической дилеммы типа "давить ребенка на проезжей части или старушку на тротуаре" не возникает - за выбежавшего на дорогу ребенка отвечают его родители, и в его смерти будут виноваты они, а старушка никаких правил не нарушает, и в ее смерти будет напрямую виновата компания, эксплуатирующая робомобиль.
Отвернуть и разбиться об стену, чтобы спасти пешехода - тоже вариант, который должен быть предусмотрен... если машина едет без пассажиров. Если в результате ДТП пострадают только железяки - то им не больно. Ремонт поврежденных железяк должен быть обеспечен соответствующими страховками и компенсациями со стороны виновника ДТП.
150 тысяч долларов за одноместный девайс, способный летать на одной зарядке 10-15 минут? Эмм...
Для сравнения, Pipistrel Electro - легкий двухместный электрический самолет, который на рынке позиционируют как очень удобный вариант для аэрошкол - стоит (вместе с зарядной станцией) примерно столько же, но летает 40-60 минут. Его версия с ДВС - в два раза дешевле и раза в три больше по длительности полета.
И что за чудо-генератор предлагается ставить на этот пепелац? Судя по тому, что "FPE Generator" даже толком не гуглится - только схемы из патента, ни одной даже рабочей модели еще не построено - считаю его даже не научной фантастикой, а сказкой.
Живу в Канаде. В прошлом году, в разгар КОВИДа, у отца был сердечный приступ. Вызвали амбуланс, отвезли в больницу, сделали операцию, все в порядке.
Сама операция была абсолютно бесплатной, но за вызов амбуланса пришлось заплатить, кажется, 40 долларов. Смысл этого в том, что "скорая" - это просто очень дорогое такси до больницы. Она никого не лечит и не должна лечить, не оказывает никаких услуг на дому - задача парамедиков всего лишь довезти больного до больницы и сдать его врачам. И с этой задачей - стабилизировать пострадавшего и довезти его до больницы живым - парамедики справляются гораздо лучше, чем образованные и сверхдорогие врачи.
Ну и, соответственно, если ты отказываешься ехать в больницу - это автоматически оформляется, как ложный вызов. С соответствующим штрафом, чтобы впредь не возникало даже желания "вызвать скорую на дом".
"В отдел по борьбе с наркотиками требуется ди-джей" (с) КВН
Теперь прокомментирую конкретный отрывок из Вашего поста:
Британские журналисты выяснили, что профессор, занявший пост советника правительства, нарушал правила «социального дистанцирования» ради встреч с чужой женой – своей близкой знакомой, жившей в другом конце Лондона. В день одного из визитов (знакомая в нарушение правил «самоизоляции», действующих в стране, ездила к нему домой) он даже выступал в прессе, рассказывая о важности карантина.
Очередной некорректный прием дискуссии - апелляция к личности. Если действия человека отличаются от того, что он предлагает делать другим - значит, сам человек "плохой", но его слова вполне могут быть верными. Если полицейский или политик, который призывал других не пить за рулем, будет пойман пьяным за рулем - это не будет означать, что его призыв "не пить за рулем" неверен, и за рулем можно пить. Это будет означать всего лишь, что он сам нарушил правило, которое призывал соблюдать. "Если Гитлер говорил, что 2+2=4 - мы не будем спорить с этим на основании того, что Гитлер - сволочь".
Во-первых, я свою "теорию" насчет КОВИДа не высказывал. Обратите внимание - в моем комментарии про КОВИД ни слова нет. Я не говорил, что локдауны спасают от ковидлы, что маски спасают от ковилды, что вакцинации от неё спасают и ещё море других теорий - и не надо приписывать мне слова, которых я не говорил. Это называется "Straw man fallacy" и является некорректным приемом ведения дискуссии.
Во-вторых, я не знаю, откуда вы взяли эти графики "предсказано и реальность". Кто именно и когда предсказывал, где взяты "реальные" графики? Учитывались ли в этих графиках маски, локдауны и другие сдерживающие пандемию факторы? Может быть, эти графики как раз и свидетельствуют о том, что сдерживающие меры были необходимы и применены правильно, раз негативный прогноз не сбылся?
Я просто привел свой критерий, который я применяю для валидации даже не столько гипотез (в том числе и своих), сколько самого собеседника. Без разницы, высказывает человек мнение, что "маски помогают/не помогают" или что "Земля плоская" - я задаю вопрос: что должно произойти, чтобы вы признали свое мнение ошибочным? Научное знание, кстати тем и отличается от религиозного (или конспирологического), что отвечает критерию Поппера. Проще говоря - наука умеет признавать свои ошибки и делать из них выводы. Умеете ли Вы?
Каждый раз, когда мне рассказывают очередную конспирологическую (или вполне адекватную) теорию - я предлагаю ответить на простой вопрос.
Что должно произойти, чтобы лично Вы признали свою теорию ошибочной?
По большому счету - я применяю критерий Поппера не к научному знанию, а к личному мнению. Теория заговора будет нефальсифицируема по определению - какие бы ни приводились аргументы в пользу ее несостоятельности, конспиролог всегда будет изворачиваться и плодить новые сущности.
Почему трактора не подчиняются этому же закону?