Тег ‘запретите им’

Девочки-стажерки

Скриншот, который бесит одновременно и технарей, и гуманитариев:

IMG_20200731_211627_542

Постковидное

Решил тут побаловать себя нездоровым фастфудом и зашел в макдачку. Макдак пытается соблюдать какие-то меры “социального дистанцирования” и прочей ерунды – но честное слово, лучше бы не соблюдал!

Как выглядел визит в макдак раньше, до ковида? Заходишь, заказываешь на кассе или через терминал с тачскрином, потом либо берешь “локатор” и тебе приносят заказ, либо забираешь свой поднос на выдаче. Казалось бы, логика подсказывает, что постковидная макдачка должна минимизировать очереди и максимизировать дистанцию между сотрудниками (если верить ковид-алармистам – они 100% заражены :) ) и посетителями – но все сделано с точностью до наоборот.

Во-первых, первый “контакт” мы получаем сразу на входе – работник макдака замеряет бесконтактным термометром температуру на запястье у всех входящих, и всучивает “локатор” (при этом сразу отправляя к определенному столику). Касса не работает, вместо нее безальтернативный терминал (половина из них зачем-то отключена, видимо, чтобы создавать очереди), чтобы посетители не тупили – у терминалов тусуется еще один сотрудник (второй контакт). Наконец, вместо выдачи – где сотрудника макдака и посетителя можно надежно “дистанцировать” – заказ теперь приносят к столику – итого три контакта вместо одного (причем более плотных).

В общем, заставь дурака Богу молиться – он себе и лоб расшибет.

Системный подход

system_approach

Впрочем, я не готов проводить ретроспективу после коитуса, как учат нас тренеры по Agile.

UPD, а также PS: зачем я набрал ЭТО в фейсбуке?

Про журналистские скандалы

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

PS Или это три разные истории?

Вот спросить хочу

А почему у каждого модного “психолога” в интернетах собственные тараканы видны невооруженным глазом? Или в психологии “врачу, исцелися сам” не работает?

Диалоги про демократию

monarch

Замечу, что 99% диалогов с борцами за чистоту выборов заканчиваются тем, что они скатываются в авторитаризм в диапазоне от просвещенной монархии до диктатуры Туркмен-баши.

Обожаю медузоньку

Вот чувачки пишут: “мы нашли уязвимость в электронном голосовании, не знаем, как этим воспользоваться, но нас всех наебут!!!!1111″:

https://meduza.io/feature/2020/07/01/meduza-nashla-uyazvimost-v-sisteme-internet-golosovaniya-chast-golosov-mozhno-rasshifrovat-esche-do-ofitsialnogo-podscheta

Собственно, “уязвимость” состоит в том, что зная созданный в ходе процедуры голосования закрытый ключ и еще один параметр (nonce), можно самостоятельно повторить шифрование голоса и убедиться, что именно этот зашифрованный голос оказался в итоговом списке. Казалось бы, можно радоваться? Но нет, “если залезть на шкаф”, эту возможность якобы можно использовать для нарушения тайны голосования. То, что злоумышленнику для этого понадобится слишком много сделать – как минимум, встроить свой нехороший код во все пользовательские браузеры – как-то вообще не рассматривается.

А вообще такие громкие заявления – от банальной недоступности информации, как это все работает. Можно взять пример хотя бы с Эстонии, систему электронного голосования которой разобрали вдоль и поперек:

https://arxiv.org/pdf/1606.08654.pdf

Хотите описания “для широкой аудитории”? Пожалуйста:

http://www.vvk.ee/public/dok/General_Description_E-Voting_2010.pdf

Хотите анализ уязвимостей? Никаких проблем:

http://www.vvk.ee/public/dok/E-voting_concept_security_analysis_and_measures_2010.pdf

Опубликован полный исходный код (а не как у ДИТ Москвы, с купюрами в самых интересных местах):

https://github.com/vvk-ehk/ivxv

Вот такой уровень открытости и не позволяет выдавать очевидное за невероятные находки.

Кстати, на злободневную тему

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

Но простите, поправки в главу 3 – это что-то кошмарное. Местами – популизм, особенно некоторые формулировки, по сути повторяющие и так уже имеющиеся федеральные законы. Местами – плохой популизм, типа “отмены” приоритета международных договоров – его и так никогда не было. Кое-где текст впихнут просто по принципу “чтобы было” – поправкам в 75 статью было бы самое место в 37, например. Где-то по этому принципу получается просто сборная солянка вроде статьи 671. И как положено – все это написано совершенно чудовищно. И прежняя версия была не фонтан, но вот некоторые формулировки из новой – это просто шедевр косноязычия, с моей точки зрения. В общем, за это – незачет.

PS Не знаю, говорили об этом или нет, но вообще принять эти поправки можно было и без всякого голосования, по описанной в статье 136 процедуре, но это было бы куда дольше. В чем причина спешки – не знаю, скорее всего, хотели успеть до единого дня голосования осенью (поправки в статьи 77 и 78, например).

PS/2 Агитация как “за”, так и “против” была совершенно омерзительна.

Еще про доставку у строительных интернет-магазинов

На этой неделе решил пощупать “220 Вольт“. Эти товарищи вообще отличились – две пачки со сварочными электродами везут DPD аж из Питера. По каким-то странным причинам доставка в пункты выдачи в виде их же собственных магазинов невозможна.

Боженька, почему они с такой клоунской логистикой еще не сдохли?

Про IT-компании

Обсуждают льготы для “IT-компаний”, предложенные вчера Путиным. Во-первых, некоторое недоумение вызывает вопрос – что же такое “IT-компания”? Ответ на него очевиден, но многим неизвестен – это компания, включенная в особый список Минцирка (МИНистерство ЦИфрового Развития, связи и массовых Коммуникаций):

https://digital.gov.ru/ru/activity/govservices/1/

По состоянию на 15.06.2020 в списке, представленном в виде таблички формата xls (КМПВ, узнаем, почему не csv или что-то “открытое”, а за использование старых форматов M$ будем отправлять на Колыму), числится 11452 организации. Кроме того, в списке есть ОГРНы и ИННы компаний – а поэтому на сайтах вроде какого-нибудь zachestnyibiznes несложно найти информацию о любой из них – например, о ООО “ТЛМ Ком” под номером 1 в списке:

https://zachestnyibiznes.ru/company/ul/1045207810218_5262128494_OOO-TLM-KOM

К сожалению, фирма уже ликвидирована, а вот номер 2 в списке – ООО “ТЭЛМА Софт” – живет и здравствует, переименовавшись в “Харман”:

https://zachestnyibiznes.ru/company/ul/1025203734841_5262068365_OOO-HARMAN

Конечно, правильнее было бы брать эту информацию у налоговой – как, собственно, все эти зачестные бизнесы и руспрофайлы и поступают – но выгрузка ЕГРЮЛ довольно сложна и кишит странностями.

И еще пара вводных – во-первых, льготы по налогу на прибыль, очевидно, распространяются на тех, кто его платит – то есть сидит на общей системе налогообложения, а не на “упрощенке”; во-вторых, количество работников в компании должно быть не менее 7 человек. Если вы представляете себе среднюю российскую ИТ-компанию – то, наверное, уже почувствовали, что на льготы могут расчитывать далеко не все. Скажем, очень многие сидят на “упрощенке” – она действительно сильно упрощает жизнь, особенно если ваши клиенты – такие же “упрощенщики” или физические лица. Численность в 7+ человек – тоже сравнительно много, особенно учитывая популярность работы с фрилансерами, когда в штате фирмы – буквально три-четыре наиболее незаменимых человека, а остальные работают по договорам ГПХ или регистрируются, как индивидуальные предприниматели (в особо запущенных случаях это превращается в “схему Ходорковского”, но не будем показывать пальцем :) ).

В общем, возникает желание проверить – а многие ли в этом списке подпадают под льготы. Основная проблема – невозможно надежно определить, пользуется ли контора УСН или нет по страничке с данными. Для части фирм на УСН встречается надпись “Упрощенная система налогообложения (УСН) (на 2018 год)” – но сделать по ней или ее отсутствию надежный вывод о том, каким налоговым режимом пользуется фирма, нельзя. Впрочем, как первое приближение – сойдет. Не для всех фирм есть сведения о количестве работников – в первую очередь это касается недавно зарегистрированных, но им все равно придется ждать не менее 9 месяцев, чтобы получить право на льготы. В общем, пишем под пивко несложный питоновский скрипт (я нихера не питонист, так что особо палками и камнями не кидайтесь):


import requests
import re
from bs4 import BeautifulSoup
import pandas as pd

elegible = 0

def get_info(id):
    global elegible

    working = False
    workers = False
    osn = True # так как система налогообложения определяется неоднозначно

    # на случай 1167847383824 (бывш. 1037841001681) и т. п.
    if not isinstance(id, int):
        id = int(id.split(' ')[0])

    # поиск по ОГРН
    url = 'https://zachestnyibiznes.ru/search?query=' + str(id)
    r = requests.get(url) # получаем результаты поиска
    if r.status_code != 200:
        print('Error ' + str(r.status_code) + ' for OGRN=' + str(id))
        return

    # вытаскиваем ссылку на страницу компании
    soup = BeautifulSoup(r.content, features='lxml')
    res = soup.find_all('td', class_='hidden-print')
    url = res[0].find_all('a')[0].get('href')

    # загружаем страницу с информацией о компании
    url = 'https://zachestnyibiznes.ru' + url
    r = requests.get(url) # получаем результаты поиска
    if r.status_code != 200:
        print('Error ' + str(r.status_code) + ' for OGRN=' + str(id))
        return

    # вытаскиваем из страницы нужную нам информацию
    soup = BeautifulSoup(r.content, features='lxml')
    # для начала sanity check, проверим ОГРН на совпадение
    res = soup.find_all('span', id='ogrn')
    ogrn = res[0].contents[0]
    if id != int(ogrn):
        print('Bad data page for OGRN ' + str(id))

    # в этом div-е сосредоточена вся интересующая нас информация
    info = soup.find('div', class_='m-t-5')

    # ищем, действующее предприятие или нет
    status_string = info.find(string=re.compile('Статус'))
    if status_string:
        status_value = status_string.next_sibling.next_sibling.next_sibling.string
        if status_value == 'Действующее':
            working = True

    # проверяем численность работников
    workers_string = info.find(string=re.compile('Среднесписочная численность работников'))
    if workers_string:
        workers_value = workers_string.next_sibling.next_sibling.next_sibling.next_sibling.string
        if int(workers_value) >= 7:
            workers = True

    # проверяем систему налогообложения
    usn_string = info.find(string=re.compile('Упрощенная система налогообложения'))
    if usn_string:
        osn = False

    if working and workers and osn:
        elegible = elegible+1

data = pd.read_excel('200615-reestrot15062020.xls', usecols='C,D', names=['Name', 'OGRN'])
for id in data.OGRN:
    try:
        get_info(id)
    except:
        print('Something went wrong for OGRN ' + str(id))
print('Number of elegible companies ' + str(elegible) + '/' + str(data.OGRN.size))

Запускаем и идем допивать пиво – работает долго, при этом в списке обнаруживается куча странностей – вроде компаний с несуществующими ОГРН; иногда это просто опечатки, типа лишней или забытой цифры, иногда – что-то непонятное. Минцирк оправдывает свое название.

В конечном итоге оказывается, что на льготы могут претендовать всего лишь 3028 компаний из списка (я не разбирал косячные ОГРНы вручную – их у меня набралось 18 штук) – впечатляет, да? В общем, радоваться могут лишь “избранные”, остальных это вряд ли коснется.

Да, оценка несколько завышена – если внимательно почитать требования, необходимые для получения льгот, на сайте министерства, то там обнаружатся дополнительные требования – например, 90% дохода фирма должна получать от “околоайтишной” деятельности (всякого рода Яндексы с Додо-пиццей в пролете):

доля доходов от реализации экземпляров программ для ЭВМ, баз данных, передачи исключительных прав на программы для ЭВМ, базы данных, предоставления прав использования программ для ЭВМ, баз данных по лицензионным договорам, от оказания услуг (выполнения работ) по разработке, адаптации и модификации программ для ЭВМ, баз данных (программных средств и информационных продуктов вычислительной техники), а также услуг (работ) по установке, тестированию и сопровождению указанных программ для ЭВМ, баз данных по итогам отчетного (расчетного) периода составляет не менее 90 процентов в сумме всех доходов организации за указанный период;

Randall Kanna

Пацаны и пацанессы, а что вы можете сказать о вот этой мадам?

https://randallkanna.com

Я пока что увидел на ее сайте только многочисленные советы из серии “Как пройти программистское собеседование” и “Как построить личный бренд” вместе с самолюбованием из серии “как я за полтора года стала senior engineer“.

Про народную технику

Довольно забавно, что на всякого рода “интернет-форумах про технику” самые популярные и посещаемые темы посвящены откровенному говну, а большая часть их содержимого – “как сделать из этого говна подобие конфетки“. Счастливые обладатели нормальной техники просто пользуются ей – а решившие всех наебать нищеброды (”знаем-знаем, все делается в одном и том же китае!”) годами варятся в собственном соку, обсуждая “типичные проблемы” – еще один признак того, что производитель ложил известный орган на мнение покупателей.

А возьмут ли за такое в датасаенс?

Вот посмотрел я на такой график результатов сдачи тестов PISA в зависимости от трат на образование:

graph

И нарисовал свой, не менее высоконаучный:

hui-graph

Можно уже в датые сатанисты идти?

Про “инженера из центра Хруничева” и его обжигающую правду

Наблюдаю растаскивание по интернетам подборки твитов некоего Ильи Харламова, в 2003 году поработавшего в центре им. Хруничева (видимо, не очень долго), а недавно написавшего целый твиттерный тред “про скорый конец Роскосмоса”:

https://twitter.com/ilyakharlamov/status/1266821702216028162

Так вот, от этой “подборки фактов” ощущение довольно однозначное – чувак поработал немного на Хруничеве, затем, обиженный далеко не космической зарплатой, “ушел в айти”, а теперь решил слегка хайпануть на модной теме “Илон Маск против Роскосмоса”. Про состояние дел в Роскосмосе он знает только (!) по всякого рода СМИ, часть про тоннели до “Восточного” – вообще высосана из пальца, каких-то серьезных “инсайдов” он выдать не в состоянии – но пометочка “бывший инженер космического центра им. Хруничева” заставляет читателя относиться к этой чуши серьезнее.

Кстати, еще про магическое мышление

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

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

Схожую историю наблюдал с одним сколковским стартапом, которому при найме сотрудников захотелось подписать с ними NDA. Текст бумажки о “неразглашении конфиденциальных данных”, больше подходящий ликероводочному заводу, нашли то ли в каком-то “справочнике бухгалтера”, то ли вообще на каком-то левом интернетовском сайте. Про ликероводочный завод – не шутка, к конфиденциальной информации были отнесены “купажные листы”. Надо ли говорить, что, допустим, исходного кода программ в этом NDA не было? Да, специально для [info]sish – остальных телодвижений, предусмотренных 98-ФЗ, тоже не предприняли.

Из более приземленного – вы когда-нибудь покупали автомобиль “с рук”, без участия в этом автосалонов? Видели у регистрационного подразделений ГИБДД ряд ларьков с вывеской “оформление ДКП”? Почему-то сограждане верят, что оформленный ИП Ивановым П. С. за 500 рублей “договор” (с проставлением печати этого самого ИП Иванова П. С. в ПТСе) имеет какую-то большую юридическую силу, чем составленный продавцом и покупателем самостоятельно. Для большего счастья граждане вписывают в эту бумажку волшебную сумму 250 000 рублей – чтобы налоги не платить.

В общем, любые правовые отношения у нас сводятся к маханию руками с криками “Ахалай-махалай”.

Какой качественный наброс

Довольно забавную ситуацию можно было наблюдать в этот понедельник – Партия прямой демократии опубликовала на хабре почти безобидный текст:

https://habr.com/ru/company/analogbytes/blog/503552/

Ну казалось бы – никаких “наездов”, просто процитирован текст некоего документа, с которым предлагается согласиться на одном из официальных сайтов г. Москвы, и приведена инструкция, как с этим жить, исходя из требований 152-ФЗ. Но нет, почему-то материал получил внезапный всплеск интереса (не скрою, под соусом “мэрия Москвы будет 10 лет слать вам рекламу” можно и не такое устроить), был пропиарен даже Навальным (что особенно смешно), и где-то ближе к вечеру по разного рода телеграм-каналам начали распространяться “опровержения”. “Гениальный” шаг со стороны связанных с ДИТом пиарщиков, увеличивший посещаемость, пожалуй, в разы.

В понедельник, в 9:00 свой комментарий дал глава ДИПРа Фурсин, разумеется, в духе “все в соответствии с законом”:

https://tass.ru/moskva/8553717

Собственно, с этим никто и не спорит – да, все в соответствии с законом, пользователь сам предоставляет свои персональные данные и осознанно ставит галочку. Чуть позже, вероятно, проснулись более осознающие ситуацию пиарщики и посоветовали не разгонять тему, сама вскоре потухнет (ситуация “глава московского департамента комментирует наброс анонимусов на хабре” – это вообще что-то невообразимое) – но “выстрелили” еще пара телеграм-каналов в духе “а мне нечего скрывать, мой телефон и так в открытом доступе”.

Что показывает вся эта история? Ни чиновники, ни граждане, ни авторы телеграм-каналов (впрочем, последним простительно) так и не осознали принятый 14 лет назад 152-ФЗ. Точнее, осознали – но на уровне того, что в лесу живет бабайка, и если перед походом в лес не сказать волшебное заклинание – бабайка подскочит и больно укусит за жопу. В роли бабайки выступает Роскомнадзор (да, он следит в том числе и за соблюдением 152-ФЗ), в роли “укусит за жопу” – статья 13.11 КоАП. Волшебное заклинание же – текст “согласия на обработку персональных данных”, которое можно найти в интернете (а уж там-то в “типовом документе” чего только не понаписали). Что ж, развитием магического сознания удовлетворен. Скоро начнут мазать лоб кровью черного петуха и ритуально приносить Роскомнадзору в жертву девственниц, это вполне логичный следующий шаг.

Второе поколение

Вот еще – хочу сознаться, что зря я гнобил TU D-stadt, и даже там на факультете информатики можно научиться чему-то полезному, если вам повезет, конечно. Дело в том, что вводный курс по информатике, с программированием на Java, читают два разных преподавателя – раньше в четные годы это был Prof. Dr. Johannes Furnkranz (ссылки на его курс можно найти у меня), сейчас курс на основе сделанного Furnkranz’ем читает более молодой преподаватель, Prof. Dr. Christian Reuter. А если повезет, и вы поступите на факультет информатики в нечетный год – то курс с формально тем же содержанием читает Prof. Dr. Karsten Weihe (в отличие от предыдущих, заслуживший страничку в немецкой википедии) – и это совершенно другое дело!

Нет, формально оба преподавателя читают примерно одно и то же – но возьмем тот же пример с определением, является ли строка палиндромом. Самостоятельная ценность у этой задачи близка к нулю – но она прекрасно демонстрирует, как писать нетривиальные циклы и обращаться к элементам массива по индексу (да еще и с возможностью “попасть” на off-by-one error). В лекциях и домашних заданиях курса господина Weihe прослеживается какое-то понимание того, зачем нужны все эти задания, и что за ними стоит на самом деле; если же посмотреть на “альтернативный” курс – то иногда возникает впечатление, что автор заданий, типа того же палиндрома, держал перед глазами список “типовых задач”, да так и не понял его.

Что же такое происходит, и чего нам ждать в будущем? У меня есть на этот счет довольно злобная теория – дело в том, что со сменой поколений в преподавании computer science исчезает и понимание сути материала. Вот возьмем какую-нибудь не менее “популярную” учебную задачку – не надоевшие всем палиндромы, а, скажем, структуры данных. Реализовывали ли вы стек на базе массива? А на базе списка? Пожалуй, если дочитали до этого места – для вас это не пустые слова. Предположим, реализацию стека на базе массива вы увидите и так (собственно, “стек вызовов” так и делается в большинстве более-менее адекватных систем) – но зачем делать это на базе списка? Да и вообще, откуда такая любовь к связным спискам, это же совершенно бестолковая и никому не нужная структура данных? Если вы засомневались – почему же списки никому не нужны? – постарайтесь вспомнить, когда они вам последний раз пригодились за исключением изучения информатики и программистских “технических” собеседований.

А ведь если подумать – то связные списки – это “естественный” для Lisp-подобных языков способ организации данных, да и аппаратная их поддержка – не так уж и сложна (примером чему служат всевозможные “Lisp-машины”). Ничто не мешает рассматривать их, как вполне равноправные с массивами (которые имитируют обычную память с линейной адресацией) “элементарные” структуры данных – и строить на их основе что-то более сложное. Но многие ли в “нашем поколении”, полностью захваченном обычными фон-неймановскими компьютерами, могут себе представить “альтернативные” варианты? Многие ли могут понять теоретическую важность других способов организации памяти, чем очевидный “массив из int8_t”? Да и рассуждать о способах построения алгоритмов – скажем, об “индуктивных функциях” или доказательстве правильности рекурсивных функций, имея под рукой такую структуру данных, как список, очень удобно (хотя никто не мешает делать это в “императивном” духе).

И возвращаясь к “смене поколений” – если “старики” еще понимают, чему соответствуют все эти нетривиальные штуки в курсе “информатики”, то новое поколение действует “по инерции”, понимая свою задачу скорее в “начетническом” ключе – если те же списки или палиндромы встречаются в курсе, то достаточно предъявить некоторое количество задач, где как-то фигурируют эти понятия (при этом совершенно теряя суть происходящего). Худший же вариант – рассказать о списках на примере встроенного в Java интерфейса List – встречается, на мой взгляд, пугающе часто.

PS Интересно, а бывают ли учебные курсы Java, где в качестве примеров разбираются реальные классы из JDK? Тот же java.lang.String – прекрасное наглядное пособие для изучения массивов, например :)

Обожаю хабр

Вот пишут на хабре статью – “Нужна ли программисту этика“, по поводу обосравшегося со своим творчеством ДИТа Москвы. Комментарии просто шикарны, как обычно.

Во-первых, в одной из веток хотят не много, ни мало, а отменить положения 54 статьи Конституции РФ – “Закон, устанавливающий или отягчающий ответственность, обратной силы не имеет”:

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

Во-вторых – никто до сих пор так и не вспомнил о существовании Software Engineering Code of Ethics. Просто удивительно – обсуждать вопросы “программистской этики” и не удосужиться хотя бы минимальным изучением того, что по этому поводу было сделано раньше.

И чуть-чуть вдогонку

Упомянул в предыдущей записи слова “менеджер проектов” – так что надо немного и на эту тему высказаться. Вот модно стало осуждать правительство Москвы, и конкретно – ДИТ и связанные с ним структуры:

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

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

https://www.facebook.com/alexander.isavnin/posts/1159514467731428

Или даже так:

Выступления политиков можно раздергивать на цитаты “как не нужно писать ТЗ”.

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

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

https://tat-ti.livejournal.com/1090928.html

Все косяки с той же “пропускной системой” в Москве – свидетельство полного, окончательного проеба еще на стадии написания технического задания. Отдельные странные люди, конечно, могут писать оды о героизме рядовых сисадминов (потерто, но сохранились скриншоты):

bunin-mos-ru

Не знаю, конечно, кто, по мнению г-на Бунина, пишет техническое задание – но с этим “команда”, стоящая за mos.ru, очевидно не справилась, а возникшие по ходу пьесы проблемы переделывались в авральном режиме (и то криво).

Так вот, с другой стороны – вижу всякого рода описания “чем занимается менеджер проектов” и понимаю, что “менеджмента” там уже нет, а в типовой “айтишной” структуре он вообще превратился в гибрид массовика-затейника для ритуалов Scrum и придатка к Jira. Впрочем, откуда взяться чему-то более содержательному, когда так называемое “айти” представлено в основном бодишопами-субподрядчиками, а настоящее руководство сидит где-то максимально далеко? Но согласитесь – если какого-нибудь Васяна (3 года опыта натягивания тем на Wordpress) “продали” заказчику, как Senior fullstack developer, это же не делает его настоящим “senior developer”? Так же и тут – сидящая придатком к Jira девочка не становится “менеджером проекта” только оттого, что ее должность так называется.

Если вы думаете, что в “окологосударственном” IT дела обстоят как-то лучше – то нет, тут все усугубляется цепочкой субподрядчиков и “отрицательным отбором” на всех руководящих уровнях. На выходе имеем продукт ДИТа, про который даже официальные лица вынуждены говорить “это не баг, это фича“.

Еще раз про MATLAB

Сим постановляю:

  • Считать MATLAB Coder кривым куском говна;
  • Сайт techbriefs.com приравнять к рекламным листовкам, напечатанным на мягкой бумаге;
  • Его читателей считать говноедами.

А теперь подробнее – несложная функция в два десятка строк на MATLAB (содержащая в основном операции с матрицами – несколько вычислений нормы и умножений) с помощью этого прекрасного инструмента превращается в четыре (!) полуработающих функции на C, общей длиной – что-то около 3000 (!) строк кода. Ни одна из функций не работает полностью правильно, на всех возможных вариантах входных данных. Написанная вручную функция, делающая то же самое – всего 80 строк (в SLOC и того меньше, комментарии мне сейчас считать лень). Как это соотносится с декларируемыми в статейке “benefits”:

no need to schedule time for hand-coding GN&C algorithms (60,000+ SLOC were autocoded by the Critical Design Review), and a detailed requirements review was replaced by a review of MBD artifacts that had proven functionality

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