Ебаный блядский андроид

Изучаю тут реализацию 6LoWPAN over BLE для Android, выяснилось следующее:

— в 7 и 8 версиях есть недокументированный способ открыть сокет уровня L2CAP (через джавовскую рефлексию, описано в дипломной работе этого самого Wieland’а), в 9 версии рефлексия для некоторых «системных» классов запрещена (в том числе и для BluetoothDevice), в 10 версии это API сделано публичным;
— начиная с 6 версии Android не дает узнать MAC-адрес «своего» Bluetooth-адаптера, обходные пути нагугливаются на стековерфлоу, но постепенно закрывались гуглом, начиная с версии 8.1 закрыты все;
— MAC-адрес постоянно и непредсказуемо меняется ради «прайваси» пользователя;
— для того, чтобы начать сканирование BLE-устройств, надо включить «геолокацию», что неудобно для пользователя и в принципе выглядит подозрительно (тут у нас приложенька для фитнесс-браслета, нахуя ей геолокация?).

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

Разъясните мне про маркетинг

Я, конечно, многое могу понять — но разве менеджмент качества имеет какое-то отношение к «маркетинговой деятельности»?

https://www.hse.ru/ba/it/students/diplomas/468570339

Или это из разряда баек про «PCI DSS — это логотип, увеличивающий конверсию»?

Вдогонку предыдущему — про психопатов

В обсуждениях вчерашней истории про обиженного программиста и npm обнаружил забавное типовое поведение айтишнегов разных мастей. Мол, чувак ни в чем не виноват, был в своем праве (тут ссылаются на написанные в лицензии буковки «as is»), дальше оценки несколько разнятся — от «молодец, так и надо» до «ну сам бы я так не сделал, но все равно молодец».

Так вот, если айтишнег хоть на секундочку одобряет саботаж в исполнении обиженного психопата — приглядитесь к нему, с большой вероятностью он сам такой же. Если он хоть чуть-чуть, но примеряет на себя поступок этого чувака — сделайте все, чтобы он не мог одной-единственной командой git commit мелко поднасрать, тем самым «отомстив» или «проучив» кого-то. Считайте каждого программиста потенциальным саботажником и держите свой код в безопасности.

Ну и на закуску — изрядный портрет этого вашего «айти-специалиста» из одной хорошей книжки:

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

Про опенсорс и айтишников-обиженок

Весь день сегодня обсуждают выходку одного американского программиста, автора двух джаваскриптовых библиотек, который обиделся на весь мир, а особенно на компании из Fortune 500, использующие эти библиотеки — и подумать только, неспособные предложить непризнанному гению скромную six-fugure salary! Что же сделал непризнанный гений? Да просто испоганил эти библиотеки, «сломав» тысячи использующих их приложений (а в мире современной так называемой «разработки» принято подтягивать зависимости из этих ваших интернетов):

https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/

Обсуждать действия чувака неинтересно, ну разве что в порядке наброса сообщу, что он одним-единственным коммитом наработал на 273 статью УК РФ (да, я серьезно, его можно привлечь по российским законам вот прямо сейчас, внимательно читайте статью 12, пункт 3). Неинтересны и способы защиты от таких обиженок — каждому, у кого в голове что-то покрепче творожка, должно быть понятно, что тащить зависимости из интернет-помоек можно только в том случае, если финальный результат вас мало волнует.

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

В «большом» мире все как раз более-менее гладко и понятно — сложились какие-то адекватные модели поведения в диапазоне от «наши штатные сотрудники на зарплате с 9 до 18 работают над linux kernel» до «я ученый, я пишу статьи, а с кодом делайте что хотите», есть более-менее внятные модели заработка на опенсорсе — от платной поддержки до «коммерческого» форка. А вот в мире мелких npm-овских библиотек так и живет эта самая мифология об «энтузиастах». Впрочем, это не мешает «энтузиастам» и их единомышленникам всячески плакать в духе «если бизнес использует наш опенсорс, он должен нам донатить!» Во-первых, дика сама идея, что пользователи «должны» делать что-то, выходящее за рамки лицензии (никто же не стоял с пистолетом и не заставлял вас выкладывать ваш код под MIT Licence, придуманной совсем для другого?), во-вторых, единственно возможный «вклад бизнеса в опенсорс» состоит в следующем, записывайте:

— взять чувака на оклад;
— написать в его должностной инструкции «должен взаимодействовать с опенсорс-сообществом»;
— чувак после этого занимается с 9 до 18 поддержкой вашего собственного форка, пропихиванием изменений в апстрим и убеждением майнтейнеров, что эти изменения нужны и полезны;
периодически оплачивать чуваку командировки на Октоберфест.

Если вам удастся убедить «бизнес», что стоимость такой работы ниже, чем получаемые от нее материальные выгоды (например: «при выходе каждого нового релиза мы тратим N человекочасов на синхронизацию с ним, где N больше 1973«) — то вперед. Все остальные формы «поддержки» опенсорса представляются бессмысленной и ненужной ерундой, приводящей к ложным ожиданиям у всех сторон процесса.

Почитал тут на ночь фейсбук

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

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

Долой скучные лекции!

Если начать лекцию со слов «Футбольный клуб Спартак только слабых привык побеждать» — то какую смИшную картинку лучше вставить в середине, чтобы удержать внимание аудитории? Эту:

Или эту?

Да, там посередке будет еще формула Шеннона, так что часть студентов непременно уснет.

Хроники чипагеддона

Читаю на днях фейсбучную ленту. Крупный производитель аэронавигационного оборудования развлекается тем, что меняет в своей продукции один китайский модуль с модемом LoRa на другой — потому что первый с Алиэкспресса пропал, а второй нашелся в каких-то московских магазинах «для ардуинщиков«. Изобразил фейспалм, посоветовал покупать не китайские поделия, а SX1276 в Компэле (они там есть во вполне товарных количествах), и пошел читать твиттер.

В твиттере наоборот — восхищаются развитием китайской электронной промышленности. Развитие выражено в том, что на алиэкспрессе можно купить мелкими партиями микроконтроллеры Holtek и Dialog, да еще и по совершенно бросовым ценам. О том, что продавцы с али продают обычно неликвиды с производства или даже буквально мусор с разобранных плат (а сами Holtek и Dialog с розницей вообще не связываются, нахер им это надо) — китаелюбивые твиттерские предпочитают не думать.

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

Зрада чи перемога?

Я тут летом писал о том, как нужна математика в телекоме и около него — а на днях прекрасное подтверждение увидел:

Среди ссылок на документы 3GPP — упоминание «теоремы о неподвижной точке». Разумеется, только особый эстет будет ссылаться на диссертацию Банаха, большинство удовлетворится ссылкой на учебник Колмогорова и Фомина — но я хочу задать другой вопрос. Когда пишут «Львов, бывшая Польша, ныне Украина» — это зрада чи перемога?

Про образование пара слов

Ввязался в одну дискуссию в жанре «ну тупые студенты пошли, ну просто пиздец!». Собственно, сам придерживаюсь подобного мнения, но есть пара фактиков, которые игнорировать нельзя.

Если посмотреть на половозрастную пирамиду населения РФ (за прошлый год, правда, но не суть важно) — то мы увидим, что сейчас в ВУЗах учится самое малочисленное поколение рожденных в конце 90-х (очередное «эхо войны», плюс демографический кризис, плюс…). Вдобавок накладывается выросший (опять же смотрим на ту же картинку, на самое многочисленное поколение нынешних тридцитилетних) в 2000-е план приема — а от него в нашей системе образования растет все — и «нормативно-подушевое» финансирование, и количество ставок ППС.

Примем теперь «качество» выпускников за неизменное — то есть предположим, что доля «отличников» из года в год постоянна — и получим, что если количество студентов не сократить вдвое в сравнении с «хорошими» для ВУЗов 2000-ми — то непременно придется снижать планку для поступающих. Статистика примерно пятилетней давности показывает, что если план приема сократился — то незначительно:

https://genby.livejournal.com/625588.html

Если в застойно-советские времена, скажем, в 1975 году, на 2,5 миллиона выпускников школ приходилось чуть меньше 0,6 миллиона мест в ВУЗах, а в 2005 году на примерно те же 2,4 миллиона выпускников было 1,6 миллиона первокурсников (ну да, спрос родил предложение) — то в 2015 из 1,3 миллиона выпускников в ВУЗы поступило 1,2 миллиона. «Предложение» на рынке высшего образования очевидным образом сократилось слабо — и стоит заметить, что это коснулось всех.

Вот уже несколько лет организаторы ЕГЭ стыдливо пишут, что сдавшие экзамен по математике на 60 баллов фактически поступают в технические ВУЗы (хотя 60 баллов на ЕГЭ можно получить, вообще не приступая к части В, сложность которой соответствует «дореформенному» экзамену в технический ВУЗ средней руки) — а ВУЗы жалуются, что абитуриенты не осиливают программу — а ведь если подумать, то все дело в малочисленности нынешнего поколения абитуриентов.

Что характерно, половозрастная пирамида влияет на наше общество гораздо сильнее, «тупые студенты» — это лишь одно из проявлений этого влияния, и не могу сказать, что оно сулит нам что-то хорошее. Есть, правда, шансы на будущее частичное исправление ситуации — но рассуждая о «половозрастных пирамидах» и показывая на них апокалиптические картинки с третьим «эхом войны», я не могу удержаться от того, чтобы подсунуть аналогичные графики для Германии тридцатилетней давности (у них просматривается «эхо первой мировой войны», оно же «удачно» накладывается на вторую мировую, а на 80-90-е приходится «второй демографический переход». Не правда ли, диаграмма 1989 года очень похожа на нынешнюю российскую (а еще больше была бы похожа где-то 1995 года)?

Интересно, а че как было в Германии в начале 90-х? Были ли разговоры о том, что арийская раса вымирает?

Лицензия +NIGGER

Предлагают дописывать в популярные опенсорс-лицензии нехорошие слова:

https://plusnigger.autism.exposed/

Если кто-то берет ваш код и убирает слово «ниггер» — то предлагается курощать и канцелить его в твиттере. Говорят, что это позволяет эффективно бороться с использованием опенсорса в нехороших коммерческих целях озабоченными BLM и SJW американцами.

Комплюктерное, всрато-айтишное

Поразбирался тут с тремя околокомплюктерными проблемами.

Первая: встраиваемая операционка не реагирует на ввод с UART на конкретном семействе микроконтроллеров. Решение: запустить GDB-сервер, потыкаться отладчиком вплоть до уровня HAL, посмотреть осциллографом на отсутствие обмена по UART, обновить прошивку отладочного адптера. Все более-менее документировано или понятно из «общего образования» (то бишь книжки Столярова, не устану рекомендовать, это лучший русскоязычный учебник для «программистов вообще»). Неприятно, но жить можно, примерно 3/10.

Вторая: после обновления Android Studio не компилируется старый проект. Решение: гуглить, смотреть Stack Overflow, применять безумные рецепты оттуда, три-четыре раза сменить версию gradle. Безумно, непонятно, какого хера IDE лезет в систему сборки?.. Не рекомендую, 6/10.

Третья: поставить Lineage OS на планшет Samsung Galaxy A Tab 10.1 2016 года. Решение: читать ебаные форумы, качать говно с файлопомоек, из блядских советов по «прошивке зверька» выбирать те, какие подойдут для твоего «андрюшки». Полный пиздец, повторять нельзя, 9/10.

И еще про Code of Conduct

Будет и у [info]eddy_em праздник — разработчики Rust посрались по поводу CoC и будет теперь у нас два раста — просто Rust и ПедеRust!

https://habr.com/ru/news/t/590869/

Очередной наброс

В 2021 году умеют работать в Unix-подобной командной строке не виндузятники (с ними все понятно), и не линуксоиды (это в массе своей позеры, воткнувшие на ноутбук убунту), а только лишь макоебы.

Еще несколько слов про отечественное айти-образование

Я все никак не соберусь и не напишу обещанные «многабукв» про околоайтишное образование — но вот еще маленький фактик в копилку. Как я уже писал, жизнь свела меня с первокурсниками магистратуры одного из считающихся неплохими московских вузов — и тем удивительнее обнаруживать у них катастрофические пробелы в знаниях! Например, на прошлой неделе выяснилось, что многим из них совершенно незнакомо слово «mutex» — хотя казалось бы, что курс под названием «Операционные системы» им читали в бакалавриате. Что должен подумать самоучка, читавший книжки Таненбаума? Неплохо, мы можем говорить на одном языке!

Но нет, «Современные операционные системы» Таненбаума включены в программу того курса лишь как необязательное дополнительное чтение, лектор рассказывает в основном об администрировании ALT Linux, а рекомендованный учебник пестрит определениями вроде «Менеджеры ресурсов: этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами вычислительной системы» (и как подсказывает коллега [info]matritcasiberia, это «определение» является общепринятым в российском образовании). Определение шикарно в своей бессмысленности — впрочем, подозреваю, что родилось оно из обвешивания прилагательными вполне невинной фразы «Этот слой состоит из модулей, управляющих ресурсами системы». Если «вычислительная система» еще как-то сюда вписывается, то пояснить, чем «мощные функциональные модули» отличаются от не мощных и тем более от немощных не смогут, наверное, даже авторы учебника (или многих учебников — фразочка растиражирована буквально в каждой «рекомендованной» минобразования книге!).

Естественно, «выхлоп» от подобного ПТУшного (и даже хуже) курса в вузе — примерно нулевой. Даже навыков администрирования ALT Linux не хватает, например, для понимания несложных инструкций по работе в консоли Ubuntu, а о вопросах, имеющих отношение к функционированию ядра ОС и даже простых многопоточных программ (что такое планировщик? зачем нужны примитивы синхронизации?) студенты не имеют вообще никакого представления.

Возникает вопрос — а зачем тратить четыре года жизни в бакалавриате, когда иной «колледж» (читай, ПТУ) за три года научит гораздо лучше?

О силе нетворкинга

Чатик с мужским, можно даже сказать, дедовским населением. Обсуждают животрепещущие темы — например, для чего в инстаграме промеж фоточек телочек показывают рекламу «гостиниц на час»:

…зачем делать макияж с QR-кодом, похожим на настоящий, но не работающим:

…успехи студентов МИЭМа, «IoT-академии Samsung» и лично фирмы Rightech в деле автоматизации «гостиниц на час»:

https://www.hse.ru/news/life/527990527.html

…а также — что такое «кьюаринг» и нахер такая банковская услуга нужна.

Постепенно из предложений набить QR-код на крестце и прочих смехуечков рождается идея стартапа по вшиванию в блядей кибернетических имплантантов (QR-код для оплаты показывать, считать количество фрикций, тариф «на полшишечки», это вот все) — кажется, надо срочно бежать искать инвестора!

Low IQ

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

Все шло хорошо, пока одному из заказчиков не потребовался BOM (bill of materials, перечень элементов), сделанный по его, заказчика, отраслевому стандарту — с описанием каждой поганой детальки. Ну напротив резисторов-конденсаторов его написать легко, а вот с микросхемами пришлось помучиться, банальные слова Integrated circuit заказчика не устроили. Где взять небанальное описание? Разумеется, из первой строчки даташита! Но после копирований-вставок из pdf в Excel и обратно прекрасная фраза

LDO Regulator, 80 mA, Low Dropout, Low Iq

превратилась сначала в

LDO Regulator, 80 mA, Low Dropout, Low Iq

а потом и вообще в

LDO Regulator, 80 mA, Low Dropout, Low IQ

— видимо, в последнем случае какая-то очередная автозамена что-то слышала про тест Айзенка.

Когда документы уже были готовы для отправки заказчику, кто-то засомневался — а стоит ли писать, что у нас компоненты такие, с низким IQ? Решили уточнить у инженеров, позвонили и спросили:

— А что такое NCP512?
— Да стабилизатор напряжения тупой, мы их везде ставим!

Сопоставив слова инженеров про «тупой» и low IQ, продажники крепко задумались — и решили от греха подальше упоминания про low IQ из отправляемых заказчику документов исключить.

Про QR-коды и тоталитаризм

Вот некоторые утверждают, что введение повсеместных QR-кодов — это ползучий тоталитаризм:

https://t.me/SkiperKakao/1003

Не буду спорить с общим посылом — но хочется добавить, что одно из самых зверски тоталитарных государств прекрасно проводило свои тоталитарные зверства без полной паспортизации населения (и это ставять ему в вину!). Что же касается пресловутых QR-кодов — то они ничем не хуже и не лучше других порождений государственного контрол-фричества (оно же wannabe-тоталитаризм) вроде регистраций по месту жительства, ИНН, СНИЛС, полиса ОМС и прочей бессмысленной ерунды типа предъявления паспорта при покупке билетов на междугородний автобус.

PS Вообще интересно, почему именно QR-коды, а не замечательный Datamatrix с акцизных марок?

Про коррупцию

Тут вот в фейсбуке доцент РАНХиГС жалуется, что совершенно невозможно потратить деньги с гранта:

https://www.facebook.com/alina.garbuznyak/posts/5284528958258528

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

PS А еще доцент топит за Навального, туда и дорога.

Introduction to Embedded Systems — A Cyber-Physical Systems Approach

Прекрасная, просто замечательная книжка.

Во введении и первой главе наивного читателя заманивают рассказами про «интернет вещей», «киберфизические системы», «индустрию 4.0» и прочий набор стандартных баззвордов. Читатель уже ждет, когда же ему расскажут про то, как на Ардуине и Распберри сделать очередной умный дом — но тут же в главе 2 ему выкатывают второй закон Ньютона, на пальцах объясняют кусочки термеха, пишут всякие дифференциальные уравнения, а немногих выживших добивают преобразованием Лапласа. Дальше, конечно, становится немного полегче, всякая там дискретная математика и конечные автоматы особого полета фантазии не требуют, а местами даже предлагают написать немного кода на Си. Перевернуть свое представление о встраиваемых системах можно по ссылке:

https://ptolemy.berkeley.edu/books/leeseshia/

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