Распространяем python-приложения на Windows (и разбираемся с проблемами)

Хотя я предпочитаю linux, как свою основную операционную систему, где мне наиболее комфортно работать, частенько приходится загружаться и в Windows (а, еще, чем черт не шутит, и в мак). И (к сожалению) не только чтобы запустить steam, пристрелить пару гоблинов или побротить по VR мирам.

Недавно надо было отгрузить питоновское приложение для пользователей windows. А на windows, как водится, без проблем ничего не обходится. И в тот момент закономерный вопрос — почему просто не через pip? А вот уже пошли дьявольские подробности, которые я описал у себя в бложике.

Потому что какую-то картинку воткнуть надо было…
(далее…)

nRF24L01+: Вручную калибруем антенну при помощи MySensors и … HomeAssistant

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

That’s how it looks like
(далее…)

Играем на NVIDIA P106-100 в Linux на виртуалке

В этой небольшой заметке описан очередной, в меру извращенный способ играть и запускать графические приложения на NVIDIA P106-100 (Это майнинг-версия NVIDIA GTX1060, которую можно добыть у китайцев меньше чем за 100$). Только играть мы будем в Linux’е, который крутится в виртуальной машине в линуксе. Такая вот рекурсия. Ну не мог я остаться в стороне от той движухи, которая началась, когда кто-то догадался «поиграть» на этих видяхах.

(далее…)

Приключения с LineageOS + Magisk

На своем телефоне я использую вместо официальной прошивки LineageOS в связке с Magisk root (эдакий волшебный инструмент получения рута, с которым сохраняет работоспособность Android pay). И тут можно радоваться еженедельным апдейтам каждый понедельник (для моего Oneplus 5T). Тут надо заметить, что у lineage апдейты не имеют обыкновения ломать систему. И все было хорошо, пока последнее майское обновление не «окирпичило» телефон. Как выяснилось, Lineage тут был не при делах — косяк был в Magisk (стоило его убрать и все заработало). В этой заметке я расскажу об эпичном фейле в Magisk, а так же приведу ссылку на исправленную версию Magisk’а, не превращающую телефон в тыкву кирпич.

(далее…)

MediaDeb: Debian для китафонов чипах MediaTek

В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.

(далее…)

Flying Bear P902: Добавляем полку для инструмента

Чтобы расчистить бардак на столе около 3д-принтера, я сделал вот такой вот небольшой крепеж для шестигранников и отверток, которые шли в комплекте с ним. Изначально сделано для моего P902, но должно подойти для любой конструкции, собранной из алюминиевого профиля.

(далее…)

Тест интеграции с соц-сетями

Уже прошло прилично времени с тех пор, как я что-то писал в этом унылом инженерном бложике. Настолько, что можно было посчитать, что я забросил это дело. Напротив, я решил вдохнуть немного больше жизни в этот бложик, потому буду теперь постить всякие околоинженерные заметки намного чаще. И, так как по ходу выхода не, я добавил в этот блог интеграцию с соц. сетями. Для начала — твиттер и вконтакте. Собственно, это тестовый пост, чтобы проверить, что интеграция с соц. сетями работает как надо.

Не стоит ожидать, что я буду отвечать на каждый френд-реквест/личное сообщение/ретвит. Если действительно хочется связаться — электронная почта остается лучшим средством. Почему? Как минимум потому, что спустя пять 5 минут после регистрации аккаунта в том же вк полез спам: . А в случае с электронной почтой с ним мы хоть знаем, чем бороться.

(далее…)

CMake + atom + .clang_complete

С некоторый пор я переехал с emacs’а на atom, который выглядел как более современная замена. Что для меня было важным — у него очень хорошая работа с CMake и автодополнение для оного. Вскоре ко всему этому делу я прикрутил lint и autocomplete через clang. И то и другое мне понравилось, но хотело актуального .clang_autocomplete в корне проекта. Однако, если проект получает от системы сборки кучу дефайнов, то управлять этим файликом руками становится больно и неприятно. Выход — генерить его на лету. Вот мой костыль для CMake:

message(STATUS "Generarating ${CMAKE_SOURCE_DIR}/.clang_complete")
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
file(WRITE ${CMAKE_SOURCE_DIR}/.clang_complete "")
foreach(dir ${dirs})
  file(APPEND ${CMAKE_SOURCE_DIR}/.clang_complete "-I${dir}\n")
endforeach()
string(REPLACE "'" "" CMAKE_C_FLAGS_SPLIT ${CMAKE_C_FLAGS})
string(REPLACE " " ";" CMAKE_C_FLAGS_SPLIT ${CMAKE_C_FLAGS_SPLIT})
foreach(flag ${CMAKE_C_FLAGS_SPLIT})
  file(APPEND ${CMAKE_SOURCE_DIR}/.clang_complete "${flag}\n")
endforeach()

Очевидно, если мы используем C++ в проекте, то и обрабатывать схожим образом надо переменную CMAKE_CXX_FLAGS. У этого кода есть очевидное ограничение: Если мы передаем через -D дефайны с несколькими словами — нас ждет облом (напр. -DRELEASE_CODENAME=»Black Burned Cookies»)

Крэдл для F602

Некоторое время назад стал обладателем китаемобилы на MT6116, а именно F602.
Ну и решил исправить недоработку китайцев сварганив для него кредл. Огромное спасибо Диме за 3д печать.
Провод для этого берется родной, втыкается в прорезь, в кредл ставится телефон. После замазывается поксиполом/заливается термоклеем.


(далее…)

Дешевый и сердитый кондиционер.

Тут газенваген:
Freaking smoke!

Потому решил соорудить нечто, дабы моск не пропускал такты от перегрева…

2 ведра, вода, лед, насос и кулер от БП. Продуваем воздух через водяную камеру где разбрызгиваем воду (большое ведро) и вуоля!

Уже лучше. Эта малышка охладила воздух с 34 до 30… А потом кончился лед…
Впрочем в гроде сейчас хуже.