Архив февраля 2019

Очередное S for Security

Буржуины (Business Insider, не херня какая!) пишут про то, что Google “забыл” предупредить пользователей о наличии микрофона в одном из устройств серии Nest:

https://www.businessinsider.com/nest-microphone-was-never-supposed-to-be-a-secret-2019-2

Угадайте, что про это написано на “крупнейшем в Европе ресурсе для IT-специалистов” (определение честно поперто со странички “О сайте“)? Правильно – ничего.

UPD Вот уже и наши “обычные” СМИ подтянулись:

https://www.gazeta.ru/tech/2019/02/21/12198163/google_nest.shtml

Про malloc() и фрагментацию памяти

А вот чуваки придумали, как можно сильную фрагментацию памяти использовать для собственной выгоды – и сократили ее потребление Firefox’ом на 16%, заменив обычный системный malloc() на собственную реализацию:

https://arxiv.org/abs/1902.04738

Про менеджеры паролей

Нейросеть генерирует котиков

thiscatdoesnotexist

https://thiscatdoesnotexist.com/

Правда, котики иногда получаются с хуем на лбу.

Development and Deployment of Multiplayer Online Games

Посмотрел “бета-версию” будущей книжки Development and Deployment of Multiplayer Online Games: from social games to MMOFPS, with stock exchanges in between.

dnd-of-mog

Разумеется, она не столько про мультиплеерные игры, сколько про распределенные системы “вообще” – к таковым можно отнести, например, всякие там биржевые системы (автор, Сергей Игнатченко, упоминается тут, как один из разработчиков торговой системы РТС). Рассматривается буквально все – от нюансов программирования на C++ (вплоть до всевозможных заблуждений) до архитектуры “в целом“. Очень понравились главы про сетевое взаимодействие, выбор между TCP и UDP, некоторые неочевидные нюансы этих протоколов.

Сейчас вышел на бумаге первый том (из планируемых 9), почти готов второй, третий – в состоянии бета-версии (все три есть на Leanpub).

Камаз не мой, я только разместил объяву!

Какое офигенное судебное решение:

http://sudact.ru/magistrate/doc/DR5CjMGRuw1V/

Вкратце – некто из Ростова-на-Дону разместил на известном сайте Авито объявление о том, что требуется водитель на “Камаз” без вредных привычек. То ли прокуратура, то ли трудинспекция возбудились, а так как некто с Камазом далеко, а в “подвале” сайта указано московское ООО “КЕХ еКоммерц” (владелец и администратор сайта) – то к ответственности этот кек-коммерц и привлекли. Блеяние юристов кек-коммерца “Камаз не мой, я только разместил объяву!” судью не впечатлило и владельцам Авито вкатили штраф в 10 000 рублей.

Впрочем, все в рамках закона – так как статья 13.11.1 КоАП РФ предусматривает наказание за распространение информации о вакансиях с “ограничениями дискриминационного характера”.

Интересные представления о разработке для встраиваемых систем

embedded-developers

Хотя не вижу ничего зазорного в том, чтобы зарабатывать деньги паяльником. Гораздо более достойное занятие, чем лепить сайтики.

Splunk

Чуваки, а что такое этот Splunk, и почему всем пиздец от “смены приоритетов в глобальной стратегии”?

https://www.splunk.com/blog/2019/02/18/shifting-priorities-in-our-global-strategy.html

Да, сайт ихний мельком посмотрел, вообще ничего не понял, кроме одного – купите у нас хз чего и будут вам крутые business outcomes и прочая ебитда.

Про автомобильную (и скорее даже автоспортивную) электропроводку

Много умных слов и красивых картинок про выбор проводов, разъемов, термоусадки, инструмента, ну и так далее:

https://www.rbracing-rsr.com/wiring_ecu.html

На выходе получается вот такая красота:

wire-harness

Боятся знать

Вот в твиттере @FelixTheBest – замечательный тред про программистов на C/C++ в сравнении с программистами на Java и Python, и в нем есть занятная формулировка:

люди, которые не знают C/C++ и даже боятся знать

Похоже, слова “боится знать” наилучшим образом описывают одного знакомого мне чувака, который прекрасно пишет что-то на Qt и современном C++ (это что-то в стиле, описанном в видеоролике Stop Teaching C) – но при этом панически боится plain C как “старого и низкоуровневого” языка. Собственно, это даже отвратило его от ардуины – так как там пропагандируется в лучшем случае C with classes. В общем, утащу себе определение.

Адитья Бхаргава, Грокаем алгоритмы

Мельком просмотрел тут одну детскую книжку по “алгоритмам”.

bhargava-algorithms

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

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

Кратенькое резюме такое – неплохо для семиклассника, читающего под одеялом с фонариком журнал Ксакеп, для взрослого человека скорее бесполезно, в качестве справочника заменяется любым cheatsheet-ом вроде такого:

https://algs4.cs.princeton.edu/cheatsheet/

Вот люди электросчетчик сделали

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

energymon

Разумеется, это “не только счетчик” – раз уж тут стоит микроконтроллер, то его стоит “загрузить” дополнительными задачами, так что здесь есть еще “мост” USB-UART и совместимый с CMSIS-DAP отладчик (а заодно можно использовать устройство в качестве электросчетчика в домике Барби, по масштабу подходит идеально). Это все крутится под управлением довольно нетривиальной прошивки – тут вам и срабатывающий раз в 3 микросекунды АЦП, и выдаваемые с периодичностью в 10-100 миллисекунд данные об энергопотреблении, и обновляемый раз в секунду экранчик – в общем, от написанной в стиле “бесконечный цикл” прошивки DAP42 здесь получается практически настоящая, но очень маленькая RTOS.

Да, не все пока работает идеально гладко (тем более, что основной упор при разработке делался на мониторинг энергопотребления, а мост USB-UART и отладчик – это “бонусы”) – но исходники открыты и выложены на гитхаб, так что при желании в них можно покопаться (чем я и занимаюсь сейчас, пытаясь добиться работы этого всего в полном объеме с некоторыми микроконтроллерами TI):

https://github.com/unwireddevices/dap42

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

Кстати, всех причастных с праздником!

А то меня уже спрашивают, чего это я не выложил циничной картинки ко дню расстрела Чикатило.

why-hui

Радиоприемник купил

Вот такой примерно:

rtlsdr

Про аморалку

Прочитал в Википедии, что в Штатах существует закон (Mann Act), запрещающий “перевозить женщин через границы штатов с аморальными целями”. Разумеется, принимали его в целях борьбы с проституцией – но в применении дошли до того, что, скажем, съездить с любовницей из Калифорнии в Неваду запрещено, ибо секс вне брака аморален (дело Caminetti v. United States).

Что особенно забавно – закон был принят в 1910 году, а формулировку про “аморальность” убрали лишь в 1986.

Learn to code

Пишут, что в Штатах “альтернативно правые” издеваются над уволенными из всяких там Баззфидов и прочих Хаффингтон Постов журналистами, предлагая им “научиться программировать”:

https://thinkprogress.org/learn-to-code-decoded-the-campaign-against-laid-off-journalists-is-harassments-new-frontier-20725ddd480a/

Новости климатологии

Пишут, что “Небольшая ядерная война может на несколько лет откатить эффект глобального потепления”.

apocalypse

Introduction to Applied Linear Algebra

Нашел замечательную просто книжку по линейной алгебре – точнее, той ее части, которая нужна в “машинном обучении”. Так и называется – Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares, издана Cambridge University Press, но на официальном сайте доступна и электронная версия.

vmls_cover

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