Поиск по блогу

среда, 29 мая 2019 г.

Колесный робот - часть 1

О соревнованиях RoboRace я впервые узнал из доклада на MLUG (Minsk Linux User Group). Было интересно послушать о проблемах, которые нужно решить чтобы робот не только смог проехать по трассе, но и сделать это быстро. С тех пор прошло несколько лет, но относительно недавно на глаза попалось видео с их YouTube канала и остаток вечера ушел на просмотр записей соревнований вместе с детьми.

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

Для начала заказал на AliExpress полноприводное колесное шасси и шилд для управления моторами. В качестве контроллера предполагалось использовать плату Freeduino 2009, которую я покупал еще 10 лет назад и она до сих пор работает без нареканий.

среда, 1 мая 2019 г.

Обновил конвертер JTV в XMLTV

Несколько лет назад интернет-провайдер, который первым в нашем доме предложил интернет через Ethernet, предоставлял программу передач для IPTV только в формате JTV.
Формат JTV появился в одноименной программе польского разработчика Ярослава Ковальского для ТВ-тюнеров на базе чипов bt8x8. Это двоичный формат, база телепрограмм JTV обычно является архивом ZIP или RAR, содержащим пары файлов (с расширением NDX и PDT) для каждого телеканала.
Программа передач в формате XMLTV тогда провайдером не предоставлялась и собирать EPG из разных источников было проблемой. Я поискал в интернете и не найдя готового конвертера из JTV в XMLTV написал свой.

четверг, 25 апреля 2019 г.

Особенности Power Disable в спецификации SATA 3.3

Листая ленту наткнулся на интересное описание различного поведения диска HGST Ultrastar DC HC510 на 10TB при подключении питания через разъем SATA или через MOLEX-SATA переходник. При подключении через переходник диск работал всегда, но при подключении через родной разъем питания SATA поведение зависело от того к чему подключали этот диск.

В комментариях прояснили что это гадит Power Disable (PWDIS), появившийся в стандарте SATA 3.3. Эта фича позволяет удаленно делать hard-reset по питанию для диска - в целом позитивная идея, но реализация имеет свои особенности.

суббота, 20 апреля 2019 г.

Совместный доступ к файлам для Windows и Linux в VirtualBox

Для обеспечения совместной работы с файлами для хост-системы на базе Windows и Linux, установленного в виртуальную машину VirtualBox, предлагается использовать shared folders. Чтобы обеспечить доступ к содержимому файлов этот способ подойдет, но если пытаться использовать shared folders как замену файловым системам Linux, то вас ждет набор проблем:
  • нужно отдельно настраивать VirtualBox для работы с symlinks
  • крайне ограниченная поддержка linux owner/group/permissions
  • сложности с удалением и переименованием отрытых файлов унаследованные от хост-системы
  • ограничения на имена файлов и директорий унаследованные от хост-системы
  • низкая скорость работы
Я пользовался shared folders почти два года и периодически пытался уйти на WSL, но последнее заслуживает отдельного повествования. Когда началась работа с проектом, где регрессионный тест занимал 15 минут, вместо положенных двух (если запускать его в виртуальной машине, но вне shared folders) я приступил к поиску альтернатив.

понедельник, 18 марта 2019 г.

Terraform не дает использовать символ подчеркивания в имени google cloud function

Зарепортил баг в Terraform провайдере google. Если использовать символ подчеркивания в имени cloud function, то не проходит валидация конфигурации

provider "google" {
  version = "~> 2.2"
  project = "${var.gcp_project}"
  region  = "${var.gcp_region}"
}

variable "gcp_project" {}

variable "gcp_region" {}

resource "google_cloudfunctions_function" "test_function" {
  name = "test_function"
}

суббота, 2 марта 2019 г.

Установка Calibre 3.39.1 в Debian Stretch

Calibre это программа для управления библиотекой электронных книг. Для Debian Stretch доступна версия 3.31.0 через репозитарий stretch-backports. Если хочется установить свежую версию, то придется либо воспользоваться инструкцией с сайта, либо пересобирать пакет из testing.

Первый вариант в стиле "curl | bash" и мне такое даже под обычным пользователем не хочется запускать без предварительного анализа установщика, ну а второй вариант я уже проделал и выложил готовые бинарные пакеты в свой репозитарий.

воскресенье, 17 февраля 2019 г.

Прошивка Samsung Galaxy Note Pro 12.2 (SM-P900) на LineageOS 14.1

В хозяйстве есть планшет Samsung Galaxy Note Pro 12.2 (SM-P900), который используется домашними для браузинга, youtube, чтения pdf, ну и детьми для игр. По современным меркам начинка не самая производительная, но экран выше всяких похвал. Штатная прошивка от Samsung использует Android 5.0.2 и в принципе ее хватает для всех нужных приложений.

Позже подсмотрели у друзей идею использования Google Family Link для ограничения времени в играх для детей. Но на родной прошивке работать приложение отказалось. Для планшета доступна сборка LineageOS 14.1 и вот ее я решил установить.