Тег ‘технологии высокаго пошибу’

До чего мы дожили

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

red-hat-microsoft

Хабр продолжает скатываться в дерьмо

Как вы думаете, можно ли в 2020 году писать статью о том, как поднять на VDS серверную версию Windows и “в несколько кликов мышки” настроить там торчащую голой жопой в интернет SMB-файлопомойку? Оказывается, можно:

https://habr.com/ru/company/ruvds/blog/529970

Заодно оцените количество скриншотов.

Про софт-скиллы

Немножко покряхтел в одном чатике с повышенной концентрацией околоайтишников на современных студентов, дискуссия быстро приняла самоподдерживающийся характер с вопросами вроде “зачем нужна многопоточность”, “что выведет в консоль int i=0; printf("%d %d", i++, ++i);“, “вилкой в глаз или в жопу раз” и дальнейшим переходом к выяснению того, что такое софт-скиллы и зачем они нужны. Все-таки undefined behaviour в С++ – бездонная тема, где вы еще сможете завершить дискуссию вот таким роликом?

Современные технологии

Говорят, тут в Нью-Йорке метро встало из-за сбоя Amazon AWS:

https://mobile.twitter.com/nyctsubway/status/1331642888502059008

Да здравствуют конплюкторные технологии!

Надеюсь, что у меня дома света нет не из-за AWS, а по более банальным причинам.

Кстати, про “локаторы” в макдачной

Ездил на днях забирать заказ из ЧиДа на Волгоградке, ну и зашел в макдачку. Там сейчас в связи с ковидом перешли на раздачу заказов официантами, а чтобы официант вас нашел – выдают “локатор”. Сидел, скучал – и от нечего делать крутил локатор в руках. На донышке у него оказалась надпись с FCC ID, загуглил (а была бы отвертка – мог бы и разобрать!) – и оказалось, что внутри стоит Bluetooth-маячок:

https://hackaday.com/2018/08/22/fcc-filing-reveals-tasty-hardware-mcsecrets/

Маячок, кстати говоря, сделан на очень неплохом микроконтроллера – по ссылке пишут, что это nRF52832, это 32-битный ARM Cortex-M4F с тактовой частотой 64 МГц, 512 кБ флеш-памяти и 64 кБ оперативной. Лет 30 назад компьютер с такими характеристиками… нет, особо не впечатлил бы, памяти маловато, но вот под ограничения COCOM точно попал бы! А вот сейчас неслабые такие вычислительные мощности заняты исключительно тем, что раз в несколько секунд кидают по Bluetooth пакетик “Я маячок такой-то!”.

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

Все так

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

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

https://t.me/syncromechanica/332

Я тут от жизни немного отстал

Скажите, а правда, что в новой версии Mac OS X наконец-то перестали стыдиться и назвали релиз Big Surveillance?

К вопросу о стартапах

Вот я тут недавно в фейсбуке доказывал, что угробить стартап неграмотными чисто техническими советами на стадии “пилота” не просто, а очень просто, и что требуемый уровень компетенции в чисто технических вопросах не нарабатывается после “пары курсов по ИТ” – а сегодня с утра увидел прямое тому подтверждение:

https://habr.com/ru/company/deutschetelekomitsolutions/blog/520406/

Вот вроде бы для читателя после “пары курсов по ИТ” все выглядит довольно гладко, ребята старательно пишут все нужные слова, думают о масштабировании, мониторинге и так далее – но вот у меня глаз задергался уже на словах про Raspberry Pi. И при дальнейшей работе с этим решением надо… нет, не масштабировать его, а выкинуть вообще все и сделать заново. При этом, разумеется, “все выкинуть и сделать заново” для большинства стартапов – смертный приговор. Деньги потрачены, “пилот” как-то работает, объяснять, что тиражируемого решения нет и надо начинать с нуля – не вариант.

Орфографический вопрос

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

Никогда не хотели угробить пару стартапов?

Есть прекрасная вакансия:

https://www.facebook.com/ekaterina.mitskevich/posts/10164168331335265

Про то, что ищут джуна – не читайте. Главная мякотка в комментах:

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

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

Р – релевантность

Яндекс снова показывает чудеса:

yandex-dzyuba

Кто найдет по ссылке что-то про летчиков и эндокринологов – получит… большой респект, во!

Про сети и симуляторы

Интересует меня, кстати, один вопрос – довольно узкоспециальный, но надо записать, чтобы не забыть. Вот есть такой довольно популярный среди исследователей сетевой симулятор NS-3 – в котором есть реализации TCP/IP стека, MAC и PHY уровня Ethernet, WiFi и вообще черта лысого. Есть, опять же, ставшее в последнее время популярным направление исследований – сети на основе LoRaWAN. Исследования там самые разные – от прикидок уровня “карандашом на бумажке” до изучения работы сети с использованием симуляционной модели – в том самом NS-3:

https://github.com/signetlabdei/lorawan

Так вот, для построения этой модели нужно, фактически, реализовать довольно нетривиальный “сетевой сервер” – и это в LoRaWAN, полное описание которого – где-то 70 страниц текста. И вот возникает вопрос – не офигевал ли кто-то от того, что нужно дважды проделать одну и ту же работу, сначала сделав ее в симуляторе (с его довольно оригинальной моделью программирования), а потом повторив это в “железе” – точнее, в прошивке устройства. Прямо вот интересно, можно ли сделать какой-то промежуточный слой между какой-нибудь встраиваемой операционкой и моделями сетевых устройств из NS-3, например, или наоборот – впилить в NS-3 полноценную реализацию сетевого стека откуда-то еще (применительно к LoRaWAN можно было бы взять хотя бы “официальный” LoRaMAC-Node).

Но вообще сегодня же Хеллоуин

Так что надо бы переписать предыдущую запись в немного более страшных тонах.

halloween-keyboard

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

Приятных вам сновидений – в которых мечта о собственном IoT-стартапе превращается в ужасный кошмар.

Делайте ставки, господа

Продолжаю тут развлекаться с LoRaWAN, и нашел просто невъебеннейшую ошибку в RIOT – точнее, в промежуточном слое между операционкой и “эталонной” LoRaMAC-Node. Ошибка там пряталась довольно давно, но то ли никто не обращал внимания, то ли списывали на “редкие разовые глюки” – в конце концов, возникала она только при довольно активном обмене в сети (хотя в принципе возможна и “на столе”).

Дело в том, что в одной из функций этого промежуточного слоя никто не обратил внимания на то, что драйвер трансивера SX1276/77/78 иногда может вернуть при вызове recv() отрицательное значение, сигнализирующее об ошибке – и радостно записывали то, что он возвращает, в переменную типа size_t – а дальше при попытке прочитать почти 4 гигабайта все радостно валилось с затиранием немалой части памяти и невнятным сообщением об ошибке.

Видимо, по “закону парных случаев” кто-то увидел такое поведение два месяца назад – но все эти два месяца разработчики “линукса для интернета вещей” мяли сиськи:

https://github.com/RIOT-OS/RIOT/issues/14962

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

https://github.com/RIOT-OS/RIOT/pull/15355

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

С другой стороны, зная отношение авторов RIOT к присылаемым им багфиксам – вангую те же два месяца жевания соплей до каких-то осмысленных телодвижений в отношении моего pull-request. Впрочем, я со своей стороны все необходимое сделал, и даже поправил строчечку, чтобы не ругалась их система Continuous Integration. Буду дальше следить за происходящим.

А вы как думаете – примут или замнут? И не стоит ли закинуть в окрестностях FU Berlin и HAW Hamburg пару девайсиков, срущих в эфир пакетами с битой CRC?

Мир опенсорса интересен и разнообразен

Можете себе представить, что проверка криптографической контрольной суммы в серьезном проекте написана буквально “на коленке” непонятно кем, неизвестно как работает и снабжена комментариями на странном языке (испанский?):

https://github.com/Lora-net/LoRaMac-node/blob/v4.4.1/src/system/crypto/cmac.c

Теперь можете.

xkcd-dependency

В этой картинке с xkcd все как всегда серьезно.

Кстати, а любите ли вы Лема?

А то у меня такое ощущение, что можно подобрать подходящую цитату к любой новости “хайтека”.

holy-auto

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

PS Да, я знаю, что это всего лишь смешная опечатка.

Обожаю, блядь, фронтендеров

Если вы думаете, что в мире опенсорсных платформ для IoT все хорошо, и всякие решения от непонятных людей за многоденег не нужны – вы глубоко ошибаетесь. Только что наблюдал, как вкладка в MS Edge с какой-то из страничек веб-интерфейса ChirpStack отъедала ресурсов больше, чем показывающий красивые картинки SDR Sharp.

А еще выяснилось, что установка InfluxDB на GatewayOS – образ флешки для Raspberry Pi с установленным и настроенным ChirpStack – занятие для сильных духом; есть мнение, что поставить ChirpStack отдельно на голую Raspbian будет едва ли не проще.

Хоть садись и сам все пиши.

И еще немного обосру Rightech

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

Для начала – а что же нам предлагает эта компания? Очередную “облачную платформу для Интернета Вещей” – а если посмотреть повнимательнее, то получается что-то вроде недо-SCADA, программируемой не на принятых у нормальных людей языках из IEC 61131-3, а на знакомом каждому фронтендеру джаваскрипте. Что же, как говорил Мао, “пусть расцветают сто цветов” – нравится вам джаваскрипт – пользуйтесь! Но давайте поползаем по сайту и связанным с компанией телеграм-канальчикам и попробуем составить портрет потенциального контрагента :)

Театр начинается с вешалки, а какие-то серьезные дела с компанией – с ее ЕГРЮЛ, ИНН и прочих таких буковок. Что мы видим в разделе “О компании“? Никаких реквизитов и строчку “фактический адрес”? Напоминает долбоебов из Супры, зарегистрировавших для работы с автопромом отдельное юрлицо на бомжа. Забавно, что и в качестве способа оплаты в разделе “платежная информация” упоминается только эквайринг с карточек – будто бы сервис предназначен в первую очередь для физлиц.

Впрочем, перейдем к более приземленным вещам. Вот, например, телеграм-канал компании сообщает нам, что 14 октября 2020 года, в среду, прямо в обед, часть “облачных сервисов” будет недоступна:

Мы не останавливаемся на достигнутом и продолжаем развиваться, стараясь с каждым днем улучшить работу нашей платформы.
Мы добавляем новые мощности и переезжаем на новые серверы, поэтому 14.10.20 начиная с 14:00 (UTC+3, по мск) возможны некоторые проблемы с доступностью платформы на время, пока будут обновляться DNS. Это плановое развитие, ведь мы стараемся улучшить стабильность и качество работы RIC.
Просим вас не вносить никаких изменений с 14:00 по 14:15. Внесенные изменения могут не сохраниться.

https://t.me/rightechportal/99

Особенно радует публикация сообщения 13 октября в 18:09. Видимо, про такую скучную штуку, как SLA, ребята тоже не слышали. Я уж не говорю о том, что плановое отключение сервиса в середине рабочего дня – это хуже даже, чем “пили пиво, меняли пароли” в пятницу вечером.

После этого не удивляет, например, вот такой детский сад на ардуине:

https://rightech.io/online-webinar-iotas/

Ну и наконец – а что это за зверь такой, “платформа для Интернета Вещей”? Я вот в пятницу вечером под пивко на банальном Raspberry Pi поднял lorawan-server, кидающий данные с датчиков в InfluxDB (а потом их в виде красивых графиков показывает Grafana) – это уже “платформа” или еще нет? И честное слово, я готов отстаивать точку зрения, что поднятое in-house вот такое поделие будет ничем не хуже творчества ебучих хипстеров из Rightech – во всяком случае, тут хотя бы есть понимание, как защититься от “некоторых проблем с доступностью” в середине дня в среду.

PS Ну и не могу не поблагодарить @i_am_romochka, нашедшего смешную орфографическую ошибку:

rightech-orpho

Все-таки тестировщик военных коммутаторов – это особый склад ума.

Курс по интернету свищей

Читаю тут твитор – и натыкаюсь на очередной фейспалм @meowthsli:

“Эволюция промышленного интернета вещей: катализатор новых открытий в текущих реалиях…”

— Круто! Сколько открытий сделано?
— Пока нисколько

https://twitter.com/meowthsli/status/1320389183794532353

Загуглил, нашел на хабре состоящую на 90% из воды статью:

https://habr.com/ru/company/otus/blog/524966/

Впрочем, это даже не главное ее содержание – весь этот поток сознания был написан ради ссылки на курс “IoT-разработчик” на платформе Otus:

https://otus.ru/lessons/iot-dev/

Уже где-то на этапе чтения “программы курса” я почувствовал, что пытаются впарить говно – точнее, “облачную платформу Rightech”. Ну в самом деле – о каком IoT можно говорить, когда “по окончании курса вы будете уметь”, например, “строить системы датчиков/исполнительных элементов, используя микроконтроллер Arduino и эмуляторы, в том числе самописные”, или “создавать программы на Python, обеспечивающие функциональность IoT для одноплатного компьютера Raspberry Pi”? Я не поленился и даже попробовал пройти вступительный тест – скажу сразу, ржал аки конь. Чего стоит, например, такой вопрос:

Какая технология не обеспечивает возможность подключения беспроводных устройств к другим устройствам на расстоянии более 1500 м?

- и варианты ответа:

  • Bluetooth
  • Wi-Fi
  • Туманные вычисления
  • Сотовая связь

Уровень понимания авторами технологий непосредственно “Интернета вещей” демонстрирует вот такой вопрос:

Имеется датчик, поддерживающий LoRaWAN, передающий на шлюз (gateway) данные о температуре (в диапазоне от -100 до 100 C с точностью до градуса) со скоростью 1 байт/с. Затем данные передаются на роутер со скоростью 100 байт/с, после чего направляются на сервер, для хранения и последующего анализа, со скоростью 10 байт/с. Вычислите время, с точностью до сотых долей секунды, необходимое для пересылки одного измерения температуры, если показания температуры кодируются одинаковым, минимально возможным количеством бит.

Ребята где-то слышали, что LoRa по современным понятиям чудовищно, невообразимо медленная – но именно слышали, без особого понимания. Об 1 байте в секунду речь там все-таки не идет (особенно в LoRaWAN, где особо медленные виды модуляции все же стараются не использовать).

Особенно шедеврально выглядит вопрос про блок-схему:

idiot-block

Готовы ответить, не подбрасывая монетку? Точнее, угадать, что думал автор?

Какое отношение к IoT имели вопросы про Javascript – точнее, про “JavaScript на уровне понимания стрелочных функций, функций map, filter, reduce” – я вообще сказать затрудняюсь. Точнее, догадываюсь – курс будет посвящен в основном работе с “облачной платформой Rightech” (и немного про Arduino и Raspberry на уровне “купите датчики на алиэкспресс”).

И вишенка на торте – прослушать курс, составленный корифеями IoT из Rightech вы можете за скромную сумму – всего 52500 рублей:

idiot-price

И еще про The Things Network

А вы знаете, что если вы будете пользоваться этой фигней, то придет [Роскомнадзор] и сделает вам [Роскомнадзор] в извращенной форме? Чуваки заявляют о поддержке российского частотного плана для LoRaWAN – ну или во всяком случае есть такая опция в настройках сети – но на самом деле все гораздо хуже. Достаточно посмотреть лишь на две записи в логе, возникающие при попытке join-а устройства в сети:

ttn-frequency

Строчка внизу – передача Join Request от устройства, выполняется на одном из двух обязательных российских каналов (у нас это 868,9 и 869,1 МГц), тут все правильно – а вот через 5 секунд ему отвечают в RX Window 2 на совершенно нерусской частоте! Частота 869,525 МГц фигурирует в европейском частотном плане, но не в российском, у нас частоты “для неспециализированных устройств малого радиуса действия” – от 868,7 до 869,2 МГц. Соответственно, для RX2 в российском частотном плане прописана частота 869,1 МГц (совпадающая с одной из частот для Join, это немного неудобно, но не смертельно). Почему TTN решил забить на это все – непонятно.