Реверс-инжиниринг беспроводных ценников

https://dmitry.gr/?r=05.Projects&proj=29.%20eInk%20Price%20Tags

Потрясающая статья об устройстве двух ценников с экранами E-Ink. Автор тщательно изучает работу устройств и пишет своё ПО чтобы превратить ценники в фоторамки с беспроводной загрузкой изображений.

Zephyr + Ebyte E104-BT5005A (nRF52805)

Купил на Али маленькие BLE модули на nRF52805. Запустил Zephyr RTOS и датчик BME280. Подключить датчик оказалось очень просто, нужно прописать его в Device Tree и включить в конфиге, драйвер уже есть. Помню, как долго и мучительно писал его для STM8 и радуюсь, что больше не надо 🙂

Конечно, модули купил чтобы поиграть с BLE. Планирую сделать Environmental sensing, но пока не разобрался как именно создавать сервисы, только запустил beacon из примера.

Картинки ниже, а код — на гитхабе.

Ким Стэнли Робинсон. Голубой Марс

Конец трилогии. Ещё меньше фантастики, но больше политики и внутренних переживаний. А под конец главное герои начинают умирать. Годится как книжка перед сном, но рекомендовать не могу.

Ольга Громыко. Встретимся на Кассандре!

Хорошее продолжение серии Космоолухов. Лёгкая и весёлая история про лесника и киборга в штаб-квартире ОЗК — общества защиты киборгов.

Ким Стэнли Робинсон. Зелёный Марс

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

Test Driven Development for Embedded C By James W. Grenning

Непосредственно TDD мне далось с большим трудом. Примерно понимаю что происходит, но не понимаю почему. Зато очень понравилось описание принципов SOLID и подходов к рефакторингу legacy-кода. В целом, очень полезная книга, рекомендую.

Ким Стэнли Робинсон. Красный Марс

Начало трилогии об освоении и терраформировании Марса. Успехи в науке и провалы в социуме, хорошо проработанный мир и переплетённый сюжет увлекают.

Sudo Bug Lets Non-Privileged Linux and macOS Users Run Commands as Root

https://thehackernews.com/2020/02/sudo-linux-vulnerability.html

Кратко: если включена опция pwfeedback (отображение звёздочек при вводе пароля), то можно переполнить буфер и выполнить команды от рута. В некоторых дистрибутивах эта опция включена по умолчанию. Решение: прописать Defaults !pwfeedback в sudoers.

Мне это не помогло, нужно было прописать то же самое в /etc/sudoers.d/0pwfeedback.

Интересные статьи по Rust — 2

http://adventures.michaelfbryan.com/posts/how-not-to-riir/

Как не переписать всё на Раст. В данном случае автор ограничивается безопасной обёрткой для CHMLib.

http://adventures.michaelfbryan.com/posts/how-to-riir/

Как переписать всё на Раст. На примере tinyvm автор показывает как шаг за шагом заменить сишный код на Rust.

Дэн Вальдшмидт. Будь лучшей версией себя

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

Ким Стэнли Робинсон. Аврора

Огромный звездолёт отправлен с Земли в систему Тау Кита, чтобы основать там колонию. До цели ещё далеко, а на корабле уже возникают неполадки. Однако, настоящие испытания начнутся только по прибытии.

Книга понравилась реалистичным описанием технических, биологических и социальных проблем. Рекомендую.

Интересные статьи по Rust

Why Learn Rust the Dangerous Way?

http://cliffle.com/p/dangerust/0/

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

Learn Rust With Entirely Too Many Linked Lists

https://rust-unofficial.github.io/too-many-lists/index.html

Дались вам эти связные списки! Один из частых упрёков в сторону Rust — сложность реализации связных списков. Статья рассматривает ключевые особенности Rust и помогает найти правильный подход к связным спискам.

Кристофер Прист — Опрокинутый мир

Захватывающий рассказ о городе, который вынужден постоянно двигаться вперёд. Вместе с главным героем мы постепенно узнаём особенности мира вокруг и приходим к пониманию почему двигаться — жизненно важно.

Ким Стэнли Робинсон: Дикий берег

Америка будущего — разрушенная, низведённая до средневековья и тщательно охраняемая. Современные технологии остались только у охраняющих, а население Америки вынуждено рыбачить, охотиться и вручную обрабатывать поля. Житель небольшой долины рассказывает о жизни общины и попытках изменить жизнь к лучшему. Очень понравилось, рекомендую.

Леонид Каганов: Лена Сквоттер и парагон возмездия

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

http://lleo.me/knigi/lena_squatter

Бен Клеменс, Язык С в XXI веке

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

Энди Уир, Артемида

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