Зайчатки разума

Зайчатки разума

Записная книжка айтишника

Вызов метода класса по имени в python

2019-01-15 18:50:43 — Evgeniy Shumilov

  Недавно столкнулся с одной простой задачей, с которой раньше cталкиваться не приходилось, поэтому оставлю себе здесь запись в качестве памятки. В MicroPython необходимо было для одного класса написать встроенный менеджер задач - некий аналог cron и таймера, который бы позволил микроконтроллеру в общем цикле вызывать методы этого же класса (например, проверка состояния GPIO, датчиков, подключения к WiFi, MQTT и т.п.) по расписанию или через заданное количество времени после наступления какого-либо события. В числе прочего планировалась возможность фильтровать задачи по имени для динамической расстановки их приоритетов и я счёл, что лучшим вариантом в этом случае будет хранение в структуре данных имени метода, затем, возможно, создание словаря, ключами которого будут имена методов. Заодно и имя метода в виде строки куда проще передавать в другой метод в качестве параметра плюс аттрибуты отдельным кортежем во втором параметре. Использовать для обратного преобразования (да и для практически любых других задач) eval - мягко говоря, дурной тон, поэтому пришлось мучать гугл. Решение оказалось не простым, а очень простым. Я уже устал удивляться подобному при программировании на python, но всё ещё продолжаю это делать.

Читать дальше...

Теги: python

Отправка логов с OpenWRT/LEDE в syslog и обработка событий

2019-01-13 02:31:22 — Evgeniy Shumilov

  Вдогонку к статье о syslog-ng решил сделать дополнение о том, как завернуть логи с OpenWRT и настроить реакцию на соответствие какому-нибудь фильтру. Дома у меня есть два Xiaomi MiWifi 3G (оказалось крайне доступным и достойным по характеристикам устройством), три штуки Netgear WNR3500L, которые в текущий момент работают в качестве гигабитных свичей в разных частях квартиры и Nexx 3020 для экспериментов. Одним словом, правило для сохранения логов должно быть общее для всех этих устройств, чтобы не писать шесть отдельных конфигурационных файлов. Начать я решил со своего основного Xiaomi роутера с хостнеймом gw01, на котором стоит OpenWRT 18.06.

Читать дальше...

Теги: админское, docker, logging

Про ярлыки и квадратно-гнездовой способ мышления

2019-01-09 18:02:49 — Evgeniy Shumilov

  Один мой друг натолкнул меня на мысли о "навешивании ярлыков". Что же в сущности такое - эти ярлыки и зачем их на кого-то навешивать? На мой взгляд всё очень просто. Ярлыки - это принадлежность к некоей категории или нескольким категориям. Наш мозг склонен структурировать информацию, потому что в таком виде ей легче оперировать и её легче хранить. Мозг бережёт себя от перегрузок, переходя на более высокий уровень абстракции. На этом уровне он отбрасывает массу незначительных, как ему кажется, деталей, создавая ассоциативную связь вида "Вася" -> "Урод". Для создания данной связи ему нужно, чтобы в категории "Уроды" уже находился некий индивид, скажем, "Петя", или группа индивидов, например, "Байкеры", которые имеют некие признаки или совершили некие действия подобные действиям нашего гипотетического Васи.

Читать дальше...

Теги: жизненное, мысли-вслух

Про программистов доступным языком

2019-01-07 20:09:25 — Evgeniy Shumilov

  Помнится, устроился я в 2004-м году на свою первую работу. Устроился в научно-исследовательскую часть Пермского Государственного Университета "программистом" на полставки, если можно так выразиться, потому как в трудовой у меня было написано мифическое "Техник третьего разряда". С полным отсутствием опыта работы и обучаясь на втором курсе в ПГУ я рассчитывать на бОльшее не мог, точнее мог, но мне это было неинтересно. Мой оклад поначалу составлял целых 600 рублей в месяц. Я мог заплатить за сотовый телефон и раза три на эти деньги посетить столовую. Почему я пошёл туда работать? На то было несколько причин. Во-первых, это было рядом: достаточно было перейти из одного корпуса в другой - и вот я на работе. Во-вторых, у меня чесались руки в отношении программирования и администрирования, мне нужен был опыт, а на работе появлялись задачи и не нужно было изобретать их самостоятельно. В-третьих, шёл стаж.


  Моя начальница якобы имела большие планы на мою деятельность, но старательно уворачивалась от любых моих вопросов и уточнений. Под предлогом "уйди мальчик, не мешай, серьёзная тётя работает".
- Какое техническое задание? Зачем вообще? Иди, пиши программки!

Читать дальше...

Теги: жизненное

Гоголь. Мочало, Гоголь. Жаль, Гоголь. Страшный бред

2019-01-06 13:24:19 — Evgeniy Shumilov

Николай Васильевич, а почему Хома Брут бегает по стенам?

Ничего ты не понимаешь, Александр, это паркур!

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

Читать дальше...

Теги: кино

Установка порта Heroes of Might and Magic 3 на linux Mint

2019-01-05 00:00:33 — Evgeniy Shumilov

  Жена давно хотела поиграть в Heroes of Migth and Magic III (далее HOMM3), так как играла в это много лет назад и третьи герои вызывают её ностальгические чувства. Я знаю, что есть порт под linux, но на retropie мне его собрать так и не удалось - были проблемы с зависимостями и версиями библиотек, лишь впустую потратил несколько часов времени. Но не так давно я поставил под телевизор новый китайский неттоп и накатил на него последний минт, как раз для того, чтобы не было проблем со всякой мультимедией, так как в отличие от дебиана, построенного из минимального chroot, там множество вещей работает из коробки. Да и не за чем мучать любимого человека, тайловый i3 и консоль ей не нужны.

  Оказалось, что VCMI уже есть в репозитории и его даже не нужно собирать, нужно лишь настроить. Я перепробовал несколько разных сборок и образов HOMM3, (есть купленная копия в GOG, но она английская, а хотелось русскую версию), поэтому сразу расскажу о рабочем варианте с руссификацией и работой в нативных разрешениях экрана.

Читать дальше...

Теги: linux, games, ностальгия

Про централизованный сбор логов

2019-01-03 00:52:53 — Evgeniy Shumilov

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

Что и зачем собирать?

  1. Периодически ночью отваливается интернет от билайна, хотелось бы видеть, что в этот момент происходит с роутером.
  2. Есть десяток IoT устройств, построенных на ESP8266, которые с прошивкой ESPEasy умеют отправлять логи по сети.
  3. Жена на новый год подарила управляемый гигабитный коммутатор, почему бы не снимать логи и с него, если уж будет такая возможность?
  4. Есть сервер умного дома, работающий на отдельной OrangePI Zero.
  5. Есть около полутора десятков докер и lxc контейнеров с различными службами и pet-проектами, в том числе и этот блог.

  Хотелось бы хранить все эти логи в одном месте, чтобы облегчить их анализ, ротацию, архивирование и бекап. Как обрабатывать подобную информацию - это уже отдельная задача, но для начала эту информацию нужно собрать.

Читать дальше...

Теги: админское, docker, logging

Про праздники, поздравления и специализацию

2018-12-28 20:28:00 — Evgeniy Shumilov

  Все мы любим праздники! Или не все? Я например, не очень их люблю, а некоторые очень даже не люблю. Например, свой день рождения. Об этом имеет смысл рассказать отдельно, потом вернусь к другим. Когда-то давно я указал дату своего рождения везде, где мог - в аське, в скайпе, затем в контакте, когда он появился и всё это заботливо напоминало множеству моих знакомых о факте моего существования. К сожалению я не сразу понял, чем это грозит. По мере увеличения количества этих знакомых, увеличивалось и количество "поздравлений" с днём рождения. Что же в этом плохого? Дело в том, что я обладал рядом навыков и опытом, который мог быть кому-то полезен и в день рождения я получал от пяти до пятнадцати звонков примерно следующего вида:

  • Хээээй-привет-как-дела-с-днём-рождения-переустанови-мне-винду!
  • Счастья-тебе-удачи-здоровья-у-меня-навернулась-программа-для-записи-дисков!
  • А-правда-что-у-тебя-день-рождения-ну-тогда-с-ним-кстати-у-меня-рейдмассив-рассыпался!
  • Мужик-поздравляю-с-днюхой-сможешь-заехать-посмотреть-мой-системник?

  Всё это и множество других вариантов поздравлений зачастую произносилось слитно, на одном дыхании, одним восторженным предложением. То есть, интонация была поздравительная, смысл - не очень. Мол, поздравляю тебя, у меня рейд рассыпался и теперь это твоя проблема! Иногда поздравление выглядело нормально, следовало несколько связных и осмысленных предложений, а потом, подойдя издалека, человек интересовался, как у меня со временем и не мог бы многоуважаемый джинн быть любезен? Сначала Джинн был любезен, но спустя несколько лет такой котовасии любезность резко устремилась к нулю.

Читать дальше...

Теги: мысли-вслух

О несовместимости женщин с кухонными ножами

2018-12-23 14:22:15 — Evgeniy Shumilov

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

Типичные заблуждения простого обывателя в отношении ножей

1. Ножи постоянно тупые, потому что их не точат регулярно.
2. Ножи постоянно тупые, не смотря на регулярную заточку, следовательно это хреновые ножи, нужно купить получше (читайте - подороже).
3. Ножи постоянно тупые, нужно купить суперточилку9000 - она точно поможет!
4. Ножи постоянно тупые, нужно отнести их на заточку в мастерскую.

  Вторая стадия иногда приобретает форму бесконечного цикла покупки всё более и более дорогих ножей (Samura, Mikadzo и т.п.), но просветления достигают далеко не все их обладатели. При этом множество обывателей искренне верят в то, что если нож куплен, скажем, за семь тысяч рублей, то уж он точно должен разрезать мясо вместе с костями, доской, столешницей, бетонными перекрытиями пола и после этого им можно будет бриться и не точить его годами. Утрирую конечно, но общее направление мысли таково. Человек планирует купить кухонный нож за 12 тысяч, чтобы не точить его пару лет, потому что нож за 150 рублей приходит у него в негодность за неделю. И о чудо, кто бы мог подумать, но эта математика не работает, если вы не умеете правильно использовать нож.

  Все вышеописанные постулаты неверны полностью или частично и я сейчас объясню, почему.

Читать дальше...

Теги: knifes

Немного про биткоины

2018-12-22 14:06:22 — Evgeniy Shumilov

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

  Меня вообще поражает то, как часто инфантилизм идёт рука об руку с желанием рискнуть большими суммами денег или вообще всем, что у тебя есть. А так же с нежеланием разобраться в механике тех процессов, в которые ты эти средства вкладываешь и хотя бы задуматься о том, что будет дальше, если что-то пойдёт не так, как ты задумал и события начнут развиваться не самым сказочно-прекрасным для тебя образом. Сколько таких людей, живущих в мире пони и радуг? Людей, не обладающих соответствующим образованием и уровнем подготовки и радостно сующих свой писюн в шестерёнки механизмов рынка ценных бумаг или криптовалют и ожидающих приятных ощущений? А потом боль и изумление - мол, как же это так произошло, ведь всё представлялось совсем не так?

  После бума на росте курса биткоина, я видел множество сообщений на форумах и в соцсетях, когда курс обвалился. Выглядели они примено следующим образом: "Я тут квартиру заложил, продал машину, взял кредит, позанимал денег у знакомых, а курс обвалился! Что же мне теперь делать?" Вариант "подумать заранее" очевидно, не рассматривался в принципе. Самый шедевральный вариант выхода из сложившейся ситуации, который я видел на форумах, заключался в том, чтобы написать петицию (даже не было указано кому и куда) и собрать под ней подписи, чтобы курс биткоина вернули обратно. Сказочные идиоты! Я думаю, в соответствии с полузабытой советской традицией нужно было написать в спортлото. Там точно помогут.

Теги: мысли-вслух, идиоты