Skip to main content

Evgeny Kuznetsov

Суслик, suka, — личность…

4 min read

Ни для кого не секрет, что я пишу и поддерживаю апплет для панели уведомлений (или как вы там system tray переводите), управляющий MateBook-специфичными функциями. Ну, то есть если вы этим интересовались — вы в курсе. Но вам пофиг, поэтому — нет. Это нормально.

Вот тоже загадка: апплет работает (ну, должен работать… вроде бы…) на любых MateBook'ах, где есть Linux. При этом звёзд на GitHub у него почти на порядок меньше, чем у моего же гайда по установке Linux на MateBook 13! Это с учётом того, что на апплет есть ссылки и со страницы гайда, и даже со страницы драйвера для MateBook'ов. Да что там, у гайда больше звёзд, чем у драйвера! На секудночку: гайд по одной модели, драйвер поддерживает не меньше четырёх; драйвер для полноценной жизни на MateBook необходим, при этом у гайда звёзд больше… Это к вопросу о смысле кармадрочерства как концепции и логике «лайкающих» на гитхабе, да.

Ладно, Тьма с ними, со звёздами. Апплет у меня.

Я его, кстати, на Go пишу. Не, я в курсе, что Go для этого не очень предназначен, но мне нравится писать на Go. Работает, опять же… В конце концов, простите за откровенность, на Цэ-плюс-плюсе я бы такое не осилил. А так — вот, есть апплет. Работает даже. Ну, такое…

Мне Go очень нравится. Я как раз пока такие вещи пишу, заодно язык изучаю. На той неделе, вот, окончательно интерфейсы вкурил. Страшная сила — эти интерфейсы в Go, не вдруг въедешь, если до этого почти исключительно на bash да на basic (да, у меня тяжёлое детство было). Зато как врубишься — ну прямо восемь стволов и всё небо в попугаях! Сколько раз в ООП тыкался — нет, от лукавого все эти ихние наследования! А тут прям именно такой полиморфизм, как надо. Шоб работало, и шоб голову не сломать при проектировании простой программки на сотню строк. Вот прям нравится!

А ещё мне очень Test Driven Development заходит, в который Go хорошо умеет. Ну, то есть как — хорошо… Умеет, из коробки, очень прилично. Но у меня вот тут затык вышел.

Апплет мой, он же с драйвером непосредственно через файловую систему взаимодействует; и даже не только через os, а прям вот таки через ioutil. И никак не возьму я в толк: вот как мне это тестить?!

Не, afero — отличная вещь, согласен, но мне не нужна абстракция файловой системы насмерть, у меня область применения — как раз только и исключительно локальная ФС. Ну и если без зависимости не обойтись — я бы предпочёл что попроще, у меня маленький апплет для трея, а не промышленная CRM же. А делать mock файловой системы, да со всеми нужными ответами и поддержкой ioutil — я ж нарушусь, разве нет?

Понимаете, у меня задача-то — проще некуда! Апплет при инициализации должен потыкать в разные места в /sys/ и понять, с какой конфигурацией он работает, и там куча вариантов (и будет ещё больше), и очень хочется под это запилить нормальный table-driven test. Потому что

если тебе вдруг захотелось отладочной информации в консоли — здесь нужен тест, а не дебаг!

Это очень правильная мысль. Верная даже, только не помню, чья. Поэтому мне всего только надо — сделать так, чтобы для тестов симулировались разные варианты состояний в /sys/. Мне не нужно в кросс-платформенность, всё равно у меня чисто линуксовая заморочка. Мне не нужны возможности в перспективе заменить файловую систему на облако. Мне просто нужно для go test получить «песочницу» файловой системы с абсолютными путями — хоть в памяти, хоть в tmpFS, хоть на диске, хоть как.

Я реально себе сегодня всё правое полушарие об это сломал, и полинтерета обгуглил. То ли лыжи не едут…

очень озадаченный суслик

Картинка хамски попячена из презентации Francesc Campoy Flores.

Evgeny Kuznetsov

«…На двенадцатом этаже
Всё не гаснет твоё окно.
<…>
В самом центре Москвы
Не заснул человек…»
Внезапно задумался: это где же в самом центре Москвы в середине шестидесятых был двенадцатый этаж?

Evgeny Kuznetsov

Граждане, кто в ИБП понимает, помогите мудростью, а?
Есть FSP Vesta 2000, в режиме on-line работает без нареканий. При попытке перейти на работу от аккумуляторов включает пропеллер, щёлкает релешкой, но напряжения не выдаёт, вместо этого выдаёт постоянный звуковой сигнал (довольно мерзкий, надо сказать), а на экранчике гасит все пиктограммы и рисует цифру «0» в правом верхнем углу.
Аккумуляторы точно живые, перед попыткой перехода на питание от них заряд показывает стопроцентный.
Что с этим можно сделать (кроме как выкинуть)?

Evgeny Kuznetsov

Ага, началось! Всё, от РБК можно отписываться…
http://www.rbc.ru/own_business/22/05/2017/591d72c79a7947488cd3a66e

Где теперь российские новости-то читать, блин?

Evgeny Kuznetsov

А что, граждане зажравшиеся москали, у кого есть на примете хорошая домработница? А то от нас уже вторая удрала на ПМЖ в далёкие дали…

Evgeny Kuznetsov

А вдруг кто в курсе: в какое место конфигов нужно вкорячить systemd-inhibit, чтобы комп не засыпал, пока rsnapshot с сервера у него по rsync изменившиеся файлы забирает? Два часа маны курю, а просветления всё нет…

Evgeny Kuznetsov

Ну что, дорогие москвичи, кто юридически подкованный уже осилил проект ПЗЗ?
http://www.mka.mos.ru/specialists/land/pzz_hearings/
Я вот — человек тёмный, академиев не кончал, поэтому мне мнится, что формулировка пунктов 1.4.7(2), 2.1.1.3 и 2.2.1.2 позволяет на эти самые ПЗЗ фактически плевать с высокой колокольни. Или нет?

Evgeny Kuznetsov

Товарищи, а посоветуйте, правда, приличный mail-хостинг, а?

Использоваться будет преимущественно для форвардов. Надо: надёжность, безопасность, простота. Обязательно: работа с имеющимся доменом (Hover не предлагать), возможность отключить спам-фильтры (Rackspace не предлагать).