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

И еще для праздничного настроения

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

  • Приложение получает доступ ко всей информации на телефоне: GPS, камера, местоположение, возможность звонить, просмотр любых данных, доступ к любым настройкам.
  • Приложение передаёт собранную информацию на серверы мэрии в открытом виде без какого-либо шифрования. Это провал.
  • Для распознавания лиц, приложение использует эстонский сервис identix.one — то есть, передаёт фотографии в эстонскую юрисдикцию и на серверы, расположенные в Германии. Обе страны входят в НАТО.
  • Разработкой приложения занимается компания «Гаскар», подрядчик «Инфогорода».
  • В QR-кодах зашифрованы MAC и IMEI (индивидуальные идентификаторы) устройства.
  • На приложение было потрачено 180 млн рублей. Судя по его качеству, украдено было 99% бюджета.

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

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

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

20 марта этого года, в России 253 заболевших COVID-19, принимаются первые санитарно-эпидемиологические меры по ограничению распространения заболевания. На “Медузе” выходит интервью правозащитника из “Агоры” Леонида Соловьева, где тот рассказывает, что все это незаконно (на самом деле нет, все эти меры были довольно прилично “подкреплены” юридически):

https://meduza.io/feature/2020/03/20/zakona-po-kotoromu-vam-nelzya-vyhodit-iz-doma-net

30 марта, число заболевших переваливает за 1500, в Москве и Московской области принимаются довольно бестолковые и путанные указы о “самоизоляции”, говорящие головы из телевизора вертятся ужом на скороводке, пытаясь не произнести слов “карантин” или “чрезвычайная ситуация”, а все та же “Медуза” разъясняет: “похоже, это правильно”:

https://meduza.io/feature/2020/03/30/v-moskve-vveli-zhestkie-karantinnye-mery-pohozhe-eto-pravilno-matematicheskaya-model-pokazyvaet-chto-inache-mogli-by-pogibnut-bolshe-100-tysyach-chelovek

КМПВ, юристов из “Агоры” будем отправлять в Коммунарку (в рамках действующего законодательства).

Про мебель

Кстати, выбирал тут себе для home office хороший стол. Да-да, не смейтесь – несмотря на то, что человечество придумало письменность 5000 лет назад – и видимо, примерно в те же времена был придуман и банальный письменный стол, в начале XXI века купить в Москве приличную мебель как-то… проблематично. Собственно, почти весь выбор в московских магазинах можно отнести к одной из четырех категорий:

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

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

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

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

https://web.archive.org/web/20110224155211/http://www.sergelin.ru/critics/007.asp

При этом стоит зайти на сайт любого американского магазина – и в категории “Computer desk” мы наблюдаем вполне себе классические письменные столы, “компьютерность” которых в лучшем случае выражается в дырке для проводов и встроенной в стол USB-зарядке:

https://www.wayfair.com/furniture/sb0/computer-desks-c1774639.html

Сука, когда же сдохнут все российские распиловщики ДСП, на полном серьезе предлагающие покупателю за его же собственные деньги инопланетный пиздец?

Хоть ссы в глаза

“Точка” (подразделение банка “Открытие” для работы со всякими там ИПшниками) письмо прислала, а в нем написано:

tochka

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

UPD Кстати: https://www.interfax.ru/business/666863

Если у вас есть недруги

Зайдите на страничку

http://covid.mos.ru

…и вы уже знаете, что делать!

Никогда, даже в 1937 году нельзя было так легко отправить кого попало в Коммунарку.

Отдельно предлагается оценить соответствие этого поделия нормам 152-ФЗ.

Рождение новояза

Не могу не поделиться замечательной интерактивной публикацией на сайте Washington Post:

https://www.washingtonpost.com/graphics/2020/world/corona-simulator/

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

Вообще, конечно, представления американцев о том, что такое “тоталитаризм”, иногда поражают.

Тренинг по решению проблем

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

IMG_20200218_195126_238

Например, диаграмма направленности антенны ассоциируется у меня с хуем. Если положить этот хуй на любую проблему – то и решать ее не придется!

Ничего не скажешь – работает психологический подход, прекрасно работает!

Про гиперболы

Идет разговор про обработку текста, машинное обучение и все такое. Наши ихним:

- А вы умеете обнаруживать метафоры?
- А что такое метафоры?

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

- Ну… это что-то вроде гиперболы, но…
- (они услышали знакомое слово!) Да, мы умеем обнаруживать гиперболы! И эллипсы! (тут внутренне напрягаешься – сказали они ellipsis или ellipses) И даже параболы!

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

ЕСПД и программисты

Напишу-ка я очередную проповедь про программистов – точнее, об их взаимодействии с внешним миром. Глупый и наивный программист думает, что конечный результат его работы – это код программы. Программист, побитый жизнью, обычно догадывается, что код этот сам по себе малоинтересен, и к нему нужна еще какая-то документация. Если это удается сочетать с живительными пиздюлями менеджмента – то к проекту прикручивается какой-нибудь Doxygen или Javadoc, и на выходе получается автоматически сгенерированная портянка рафинированной чуши.

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

Примерно тут возникает еще одна проблема – “код и документация” нужны заказчику в удобоваримом для него виде. Скажем, “код валяется в разных местах на диске у Васи, документация – в виде обрывков бумажек в столе у Пети” ни одного заказчика не устроит; “исходники и Javadoc лежат на гитхабе там-то и там-то” – приемлемый вариант для “технарей”; “все документы по проекту находятся в CVS-системе фирмы, а также записаны на компакт-диски и находятся в двух разных помещениях архивов” – вариант повышенной энтерпрайзности, ну и так далее.

И тут мы приходим к одной поучительной истории – про ЕСПД. Идея 19 и 34 серии ГОСТов, если вдуматься – это решение проблемы, описанной в предыдущем абзаце. Если говорить на языке более современных подходов к разработке ПО – типа RUP или OpenUP – то они описывают “артефакты”, которые должны возникнуть в ходе разработки программы или автоматизированной системы, и требования к содержанию и оформлению этих “артефактов”, позволяя заказчику, разработчику и потребителю ПО говорить “на одном языке”.

Проблем с ЕСПД две – откровенный саботаж всякого процесса документирования своего творчества со стороны программистов и (как позже увидим, непосредственно вытекающая из этого) устарелость стандартов. Но начнем мы все же с саботажа. Давайте попробуем “изготовить” полагающийся по ГОСТ 19.401-78 “Текст программы”. Поймайте программиста и попросите у него “текст программы”. Ответом вам будет либо набор файлов (хорошо, если он сопровождается каким-нибудь Makefile), либо, если вы используете много “чужого” кода – долгая дискуссия, где заканчивается ядро Linux и начинаются ваши доработки. Дальше вы смотрите на ГОСТовские требования и понимаете, что распечатка ядра Linux или какого-нибудь веб-фреймворка на бумаге – это, конечно, прикольно – но отдел технической документации у вас это не примет.

Дальше выясняется – со слов коллег, сдававших сделанную по ЕСПД документацию раньше – что архив и нормоконтроль удовлетворятся сделанным в Word документом, содержащим что-то, похожее на исходники программы. Не вопрос! – думаете вы, и лихим Ctrl+C – Ctrl+V набиваете вордовский шаблон неработающими исходниками. Собственно, где-то на этом этапе в 1937 году вас бы ждал расстрел за подлог документов и саботаж (кстати, вы никогда не задумывались, что сокращение ИТР обозначает одновременно инженерно-технических работников и иностранные технические разведки?) – но сейчас времена более вегетарианские. и за такое очковтирательство никому ничего не будет.

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

Примерно так же происходит подготовка любых других документов “по ГОСТ” – вместо минимально читаемого Javadoc “Руководство программиста” будет куцей компиляцией форменного бреда; “Руководство системного программиста” будет описывать все, кроме того, что действительно нужно. В конечном итоге на написание документации будет посажена “девочка”, совершенно не задумывающаяся о сути производимой работы, но неплохо умеющая писать формально удовлетворяющую требованиям нормоконтроля документацию.

priplyli

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

В принципе, с чем-то подобным столкнулись и обычные инженеры, конструктора и так далее – но в отличие от программистов, там довольно быстро осознали, что стоит привести ГОСТы в соответствие с реальностью XXI века – поэтому в ЕСКД где-то в начале 2010-х легализовали, к примеру, “электронный документ” (собственно, ГОСТ 2.051-2006 приняли еще раньше, как несложно догадаться – в 2006). Технически продвинутые программисты – наоборот, предпочитают оставаться в реалиях 1970-х годов по причине полной неспособности взаимодействовать с “нехорошими бюрократами”. Остается их с этим поздравить.

PS Написано по мотивам личного опыта автора, your mileage may vary.

За телеком, не чокаясь?

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

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

Поделюсь лайфхаком

Перед общением с особо одаренными представителями касты индийских программистов можно для повышения градуса ненависти прослушать пару-тройку песен “Коррозии металла”.

Интересно, как это называется?

Смотрю тут один опенсорсный проектик на гитхабе и понимаю, что в Cisco работают такие же индусы, как и везде (хотя нет, кое-где за такое могут и уебать):

https://github.com/cisco/ns3-802.11ax-simulator/blob/master/ns-3.26/src/wifi/model/rrm-wifi-manager.cc

Совершенно шикарны строки со 149 по 155, да и все их многочисленные копипасты. Поневоле задумываешься, как же в принципе может более-менее стабильно работать современный софт и тем более железо, разработанное “клоунами под руководством мартышек”.

PS Посмотрел профили указанных в заголовке индусов на линкедине. Сильно опечалился.

Тем временем отличился Госдеп США

Официальный русскоязычный аккаунт Госдепа в пятницу вечером выложил в твиттере антирекламу Huawei:

https://mobile.twitter.com/USApoRusski/status/1218127103402684416

Если в понедельник редакция аккаунта проспится и удалит – то видео из твита уже перезалили на Ютуб:

Интересно, конечно, а как такое мочилово конкурентов соотносится с “этичной и прозрачной деловой практикой”?

Маленький домашний Роскомнадзор

Не спрашивайте, как, но я набрел на настройки DNS-сервера для блокировки “неонацистских и гомофобных” сайтов:

https://git-01.md.hardenedbsd.org/shawn.webb/dnspinning-for-human-rights/

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

Кто все эти люди?

Увидел на Stackoverflow шедевральный вопрос – как на питоне посчитать коэффициент корреляции Пирсона:

http://stackoverflow.com/questions/3949226/calculating-pearson-correlation-and-significance-in-python/5713856

Ответы типа “используй SciPy/NumPy/WhateverPy” в принципе понятны – но кто поставил 12 “лайков” ответу пользователя compski?

import math

# calculates the mean
def mean(x):
    sum = 0.0
    for i in x:
         sum += i
    return sum / len(x) 

# calculates the sample standard deviation
def sampleStandardDeviation(x):
    sumv = 0.0
    for i in x:
         sumv += (i - mean(x))**2
    return math.sqrt(sumv/(len(x)-1))

# calculates the PCC using both the 2 functions above
def pearson(x,y):
    scorex = []
    scorey = []

    for i in x:
        scorex.append((i - mean(x))/sampleStandardDeviation(x)) 

    for j in y:
        scorey.append((j - mean(y))/sampleStandardDeviation(y))

# multiplies both lists together into 1 list (hence zip) and sums the whole list
    return (sum([i*j for i,j in zip(scorex,scorey)]))/(len(x)-1)

И прошло целых три года, прежде чем Николай Фоминых сподобился написать крайне токсичный по нынешним понятиям комментарий “ты мудак, тебе надо оторвать руки, а клавиатуру засунуть в жопу, чтобы ты больше не мог написать ни одной строчки кода” “У этого способа ужасающая сложность и низкая производительность на списках из 500+ элементов”.

Так вот – ладно, я не регистрируюсь на SO, потому что влом – но кто-то же проходил мимо этого образца говнокода, и за несколько лет так никто и не обложил хуями автора. Почему?

Ознакомился с парой “обувных” ютуб-каналов

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

Помнится, несколько лет назад [info]infowatch утверждал, что человеческая письменность доживает последние годы, и следующим поколениям уже не надо будет уметь читать и писать – все будут пользоваться повсеместно распространенным ютубами и скайпами. Собственно, речь даже не о “поколениях” – вот уже в 2020 году для того, чтобы донести до своей небольшой аудитории несколько нехитрых мыслей, выбирают не формат “текста с картинками”, а видеоролик.

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

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

PS Умение читать и писать, конечно, никуда не денется, но перейдет в разряд специальных, “как выжить вдали от цивилизации”, наравне с разжиганием костра с одной спички и ориентированием по компасу.

Про наукообразие, продолжение

Говорят, что это – старая немецкая традиция:

peter-vs-germans

Строители спутников

Девочка Саша, 9 лет, Троицкая средняя школа:

Дядя Игорь Пантелеймонов Игорь Николаевич, начальник сектора разработки и создания радиотехнических систем, средств НКУ и специальных комплексов, АО «Российские космические системы»:

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

С праздником!

Очень оригинально решил поздравить российских программистов с государственным праздником Gitlab:

https://gitlab.com/gitlab-com/www-gitlab-com/issues/5555

Если коротко – то предложили выставить на мороз сотрудников из России и Китая – а то они могут подсмотреть какие-то секреты у некоего неназванного “customer considering using GitLab.com”. Ну я думаю, перечень таких “customer considering using”, ради которых Гитлаб готов делать все, что угодно – не такой большой. Если вспомнить еще и недавнюю историю с “телеметрией” для платных пользователей – то ну его нахрен, такой гитлаб?

Про Agile

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

Краткое содержание лекции – “водопад это плохо, много ненужного бюрократизма, чуть получше – спиральная и V-модель, но истинное «наше все» – это гибкие методологии, Agile и прочий Scrum”. Под стать ей – и вопросы в итоговой экзаменационной работе – например, “назовите недостатки Waterfall model”. Напомню, что лучшее средство для того, чтобы студенты усвоили какую-то непреложную истину – вынести ее на экзамен, а в такой вот форме – будьте уверены, запомнят они именно недостатки.

Пожалуй, неправильно будет обвинять профессора в какой-то злонамеренности, он вроде бы хороший чувак, но ни дня не работал в “индустрии” – так что просто вынужден некритически пересказывать модные сейчас штуки про “гибкие методологии разработки”. Что получается на выходе – разумеется, такие же жизнерадостные программисты, обитатели страны розовых пони.

PS Да, что касается шуточек о том, что скоро курс информатики будут преподавать по материалам ebanoe.it. Уже! В Штатах в University of Massachusets Boston в рамках курса CS410 (Introduction to Software Engineering) читается лекция What to Expect from Tech Companies and their Hiring Processesразъясняется, что такое галера, гребцы, хрюши и все такое (нет, до такого еще не дошли – но скоро, очень скоро все будет!).