LINUX.ORG.RU

Сообщения like-all

 

Давайте поговорим про provisioning

Форум — Talks

Первое, что хотелось бы обсудить — это дистрибуция дотфайлов и конфигов. Тема довольно избитая и заезженная, много было копий сломано и вариантов перепробовано, пока не подошёл вплотную к идеальному варианту: ansible. Он делает это удобно, просто и достаточно прозрачно, есть возможность собирать конфиги из темплейтов, что для меня есть большой плюс, так как использую я разные платформы(десктоп — macOS, виртуалки для личных проектов — Debian, виртуалки для рабочих проектов — CentOS). Однако, использование ansible вызывает ряд проблем, жить с которыми довольно неприятно, а именно:

  • Его нужно устанавливать. Для каждой из операционных систем приходится писать свой магический костыль, поскольку pip не всегда есть из коробки, а то, что в системном репозитории, скорее всего уже протухло и завоняло. Плюс ко всему, возможный переход на python3 тоже не прибавляет радости. В итоге имеем необходимость держать в репозитории bootstrap-скрипт и поддерживать его в актуальном состоянии.
  • Фатальных несовместимостей между 2.0 и 2.2 больше, чем между 2.0 и 1.8. И это не какие-нибудь deprecated или experimental модули, которые чаще всего можно переписать на той же логике ansible, благо есть возможность дёргать шелл, а ошибки парсинга плейбуков. К примеру, with_dict в 2.2 и 2.0 имеет совершенно разный синтаксис и это никак не исправить.

Идеальным вариантом для меня было бы что-то похожее на ansible, но только написанное на Go. Чтобы получился отдельный готовый статически слинкованный бинарник, который без лишних телодвижений можно скачать, натравить на конфиг и получить результат. Совместимость с ansible вовсе не обязательна, важна лишь похожая логика. Я когда-то писал свой стрёмный велосипед для таких дел, но мне стало стыдно, возможно зря. Не появилось ли на горизонте чего-нибудь подобного?

Второй момент: provisioning на мобильных устройствах, а конкретно на Android. Насколько я знаю, с MDM у него всё очень плохо, а точнее никак. Полностью и безоговорочно доверяться гуглу тоже как-то не хочется, он однажды утащил к себе без спроса все мои телефонные номера и после этого пользоваться его услугами больше не захотелось, всё-таки хочется больше контроля и предсказуемости(на абсолютные значения не претендую, если что). Не то что бы я часто менял или перепрошивал телефоны, но иметь возможность быстро и не очень затратно развернуться в привычное окружение(а при желании и мультиплицировать его на другие семейные устройства) было бы неплохо. Знаю про titanium backup, но не знаю имеет ли он возможность развернуть один и тот же бэкап на разные устройства, а также предоставлять возможность централизованно обновлять парк устройств(по аналогии с плейбуками ansible: применил роль «установить такое-то приложение с таким-то набором данных», и оно раскатилось на все девайсы). Что-нибудь посоветуете?

 , , , ,

like-all
()

Карточки памяти для смартфона

Форум — Talks

Сап, линуксач.

Я пришёл сюда похныкать про свои проблемы с картами памяти в смартфонах, но не просто так, а с целью эти проблемы решить.

Как известно, карты памяти формата MicroSD — это заноза в заднице толщиной с бревно как для пользователей смартфонов, так и для разработчиков. Именно поэтому я нисколько не удивлён отсутствию слота для расширения памяти в айфонах и некоторых флагманах на Android: производителю не нужно, чтобы лицо торговой марки приносило в службу поддержки толпы разъярённых покупателей. Я со своей стороны тоже зарёкся покупать смартфоны со слотом для карты памяти, но это дело будущего, а сейчас мне надо разбираться с текущей ситуацией.

Один хороший человек провёл достаточно исчерпывающее исследование, показывающее, что под корпусом карточки может оказаться совершенно любая начинка, и только SanDisk можно хоть как-то доверять, да и то не факт. Меня угораздило купить Verbatim, поскольку было очень нужно, времени на выбор не особо-то и было, а торговая марка вроде как не очень-то и разочаровывала ранее. Проблема появилась там, где я меньше всего ожидал: в Android, начиная с версии 6.x, изменились опции монтирования карточек. Если ранее было

errors=continue
(ошибка? пофиг, пишем дальше, потом проверим), то сейчас это
errors=remount-ro
. То есть приложения, которые активно пишут на карту памяти, не ожидают такого подвоха и начинают натужно срать кирпичами об ошибках записи файлов в логи. Браузеры, сетевые хранилища, облачные музыкальные проигрыватели и даже камера — всё накрывается медным тазом. Происходит это примерно в течение 10 минут после активного использования устройства.

Я понимаю, что при таком раскладе(брендированные карты памяти, сделанные непонятно из чего и отсутствие времени и желания искать нормальный экземпляр) у меня нет выбора, кроме как мириться с ошибками. Только вот андроид с этим мириться не хочет. Тут есть довольно скудная документация, которая описывает текущее положение дел с fstab в андроиде. Не факт, что у меня получится чего-то добиться, поэтому спрашиваю: кто-нибудь принудительно изменял опции монтирования карты памяти в смартфоне?

Ну и напоследок: расскажите о том, с каким вендором карт памяти у вас было меньше всего проблем. До этого у меня карточка SanDisk прожила два года, прежде чем начали сыпаться ошибки.

 , ,

like-all
()

Чем обусловлено отсутствие barcode-сканеров в базовой поставке мобильных ОС?

Форум — Talks

Никак не могу взять в толк, почему в Android и iOS из коробки нет barcode-сканера. Причём настолько нет из коробки, что даже гугловый двухфакторный аутентификатор требует установить стороннее приложение для сканирования QR-кодов из Play-маркета. И ладно бы, если лицензия какая-нибудь проприетарная мешала, так свободных реализаций полно.

 , ,

like-all
()

О вреде vendor lock-in

Форум — Talks

http://jalopnik.com/this-ancient-laptop-is-the-only-key-to-the-most-valuabl-1...

tl;dr: для обслуживания McLaren F1, который стоит $10M, приходится использовать ноутбуки compaq 1989 года выпуска.

На самом деле, обычное явление в мире копроэмбеддед, но когда, например, видишь как ищут программистов на 16-битном ассемблере для PDP-11 чтобы поддерживать атомные электростанции, становится как-то неуютно.

 

like-all
()

Кто-нибудь играет в Hive?

Форум — Games

http://store.steampowered.com/app/251210/

Замечательная настолка с сетевым режимом. С компьютером играть неинтересно: выработал тактику, позволяющую обыгрывать его даже на уровне сложности Hive mind; существующие же онлайновые баталии разворачиваются со скоростью один ход в день. Есть желающие сразиться?

 

like-all
()

Как правильно уведомлять пользователя о требующих внимания изменениях в пакете?

Форум — Development

Второй день читаю документацию Debian и не могу найти, как правильно показать пользователю пейджер с важной для пользователя информацией(приближающийся End of Life пакета, рекомендации, предупреждение о нарушении обратной совместимости и так далее). Видел такое при апгрейде exim и, судя по всему, предупреждение выдаётся при апгрейде единоразово. Что для этих целей принято использовать?

 , , ,

like-all
()

Драма в grsecurity

Форум — Talks

Я просто оставлю это здесь: https://www.reddit.com/r/programming/comments/4gn0dr/hector_martin_on_twitter...

Кто-то запостил в твиттор способ гарантированного получения кернелпаника в текущем ядре grsecurity. У команды grsecurity случился пердак-бомбей, после чего они побанили не только автора твита, но и тех, кто ретвитнул. Это эпично, я считаю.

 , ,

like-all
()

В чём сакральный смысл новой трактовки нуля в настройках таймаутов?

Форум — Talks

А конкретно в RuntimeMaxSec=. То есть ранее ноль отключал таймауты вообще и был по сути дефолтным значением. Но теперь зачем-то понадобилось ограничивать время работы сервиса нулём секунд, а для бесконечного таймаута изобрели значение «infinity». Естественно, это не могло не сломать предыдущих существовавших настроек, поэтому ноль в настройках TimeoutStartSec= и TimeoutStopSec= эквивалентен «infinity». Объясните, пожалуйста, доходчиво, для каких случаев требуется ограничивать время выполнения сервиса нулём секунд. Ну или разъясните трактовку нуля в новых настройках, если я её неправильно понял.

Для истории, хронология событий:

  • Пользователь захотел фичу MaxRuntimeSec=
  • Леннарт запилил, но ни о чём пока не подозревал
  • Подопытный хомячок взорвался(видимо, Лёньчик не удосужился самостоятельно проверить работоспособность своих высрищ)
  • Лёня впердячил костыль, который теперь подразумевает двойную трактовку нуля

 , ,

like-all
()

Real world применение таймер-юнитов

Форум — Talks

В общем, systemd всюду, systemd везде, ни для кого не секрет. Прошло уже достаточно времени для внедрения его в продакшны или хотя бы в тестинги(CentOS, RHEL, Debian, грядёт ещё Ubuntu). И вот на этом вот месте у меня созрел вопрос: кто-нибудь всерьёз использует возможности таймер-юнитов? Ну, то есть, не так чтобы юнит можно было заменить строчкой 0 6 * * * root /bin/systemctl start kookareck.service в /etc/cron.d, не для красного словца и галочки в резюме(САСАЙТЕ ХЕЙТЫРЫ У МЕНЯ ВСЁ РАБОТАЕТ Я ЗНАЮ КУНФУ ЛЁНЬЧИК БОХ), не в качестве костылей и подпорок для падающего говна, за которое правильнее будет выдать дрындюлей разработчику, а чтобы действительно можно было сказать, что применение этой технологии спасло бизнес или сэкономило несколько десятков человекочасов. Вот, к примеру, таргет-юниты - вещь клёвая, я ссусь радужным лимонадом от возможности рестартить все зависимые от демона сервисы при апгрейде пакета(просто вызываю systemctl restart daemon.target в постинсталле). Таймер-юнитов исчезающе мало даже в поставке дистрибутивов. В дебиане кроме cron.daily/hourly/monthly(лол) всего три юнита, в прогрессивно-молодёжной Fedora не намного больше. Собственно, стоила ли овчинка(выдумывание отдельной сущности для покрытия полутора мифозных кейсов) выделки?

P.S.: Нет, мне не жалко, а просто интересно.

P.P.S.: Да, знаю, знаю про «80% кода пишется для покрытия 20% кейсов».

 , ,

like-all
()

Автомобильная аудиосистема -> гитарный комбоусилитель

Форум — Talks

Вопрос адресован технарям, говнарям и очумелым ручкам. На днях отец позвонил и сказал, что у него дома завалялся автомобильный усилитель со стереовходом RCA и четырьмя динамиками(2 front + 2 rear). Он ему особо не нужен, поэтому хочет отдать мне для экспериментов со звуком для электрогитары. Есть истории успеха по превращению такого набора компонентов в battery operated(это важно) комбоусилитель? Ну или хотя бы отдельно голова и кабинет.

P.S.: модель усилителя и мощность динамиков пока мне неизвестны.

 , , ,

like-all
()

Как вы принуждаете разработчиков вести аккуратный процесс разработки?

Форум — Talks

Вопрос адресован мейнтейнерам. Есть некий софт(например, на гитхабе), в использовании стабильной версии которого я непосредственно заинтересован. Pull'ить HEAD с origin/master как-то не круто, может не собраться в лучшем случае, а в худшем и повредить что-нибудь. Хотя, может ничего и не быть. Чтобы избежать таких спецэффектов я обычно делаю reset до последнего релизного тега. Но часто бывает так, что разработчик срать хотел на такие ритуалы и вообще ему мир спасать надо уже вчера. Какие из гуманных методов воспитания можно к таким субъектам применять? Тег выставить недолго, а польза от этого ощутимая.

 ,

like-all
()

Фреймворк для ботов Telegram

Форум — Talks

Написал на досуге маленький фреймворк для ботов в Telegram. Идея в том, что запускается с нужными параметрами демон, который занимается рутиной приёма и отправки сообщений. Принятое сообщение отправляется в указанный в конфиге скрипт, обрабатывается и возвращается демону в виде оформленного в JSON action'а. Пока экшнов всего два: отправить сообщение и написать в channel. В будущем появится отправка всякой мельтемудии и стикеров. Также я написал библиотеки, формирующие эти экшны, для Bash и Node.js(те, что нужны были в моей инфраструктуре первее всего), позднее будут python, ruby и, возможно, C. В комплекте с демоном есть man и некоторые примеры. Из бонусов есть systemd-таргет, который позволяет рестартить все сервисы, использующие фреймворк, при апгрейде оного. Готовые пакеты есть для Debian Jessie и Ubuntu Trusty. Исходныe коды тут. Пример работы бота на картинке.

Налетай!

 ,

like-all
()

PAM-модуль, читающий токены из сокета

Форум — Talks

Хочется PAM-модуль, который читал бы сериализуемый текст из сокета и, в зависимости от данных в нём, принимал решение о предоставлении доступа. Конкретно сейчас хотелось бы с помощью него запилить двухфакторную авторизацию при помощи RFID и Bluetooth ключа. RFID-сканер будет подключен к док-станции ноутбука, Bluetooth-ключ - это мой телефон. Сканировать я собираюсь свой рабочий пропуск. Физика процесса такова: в фоне висит демон, который ждёт токен из /dev/ttyUSB0. После того, как токен получен, демон запрашивает у hcitool находящиеся поблизости MAC-адресы Bluetooth, и если среди них есть адрес моего телефона, то первый токен(пропуск) отсылается в сокет PAM-модуля. Далее уже происходит верификация на стороне модуля и, в зависимости от результата, выдаётся либо PAM_SUCCESS, либо PAM_AUTH_ERR.

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

Can I haz?

P.S.: написать модуль я и сам могу. Но мало ли, вдруг готовые решения есть.

 , ,

like-all
()

$750 за патч в 10 строк

Форум — Talks

https://www.bountysource.com/issues/20554990-fails-to-build-from-source-on-pp...

IBM - это корпорация, которая за ваши деньги будет решать те проблемы, которые на лоховских супермикрах с x86-процессорами решили ещё десять лет назад.

 , , ,

like-all
()

ESP RZK I Flugschau, гитара мечты в Inkscape

Галерея — Скриншоты

Раз уж тут пошли скриншоты с гитарами, вброшу свой. С 3D у меня как-то не сложилось, а вот с векторной графикой как-то всё просто получилось. Наверное, хороший интерфейс Inkscape поспособствовал. Я являюсь большим поклонником творчества группы Rammstein и Richard Z.K. в частности. Инструмент, который в сотрудничестве с ним сделала японская мануфактура Electric Sound Products, выглядит и звучит просто потрясающе. Сам я являюсь обладателем гитары ESP LTD F-50. Бюджетное решение, но выглядит очень красиво, ни один другой производитель бюджетных гитар такого не делает. Однажды мне захотелось совместить в одном изображении всё, что мне нравится в этих двух инструментах. Несколько часов в Inkscape, небольшая обработка текстур в GIMP - и вот результат:

  • Shape - RZK & F-style hybrid
  • Wood:
    • Body - Alder
    • Neck(bolt-on) - Mahogany
    • Fretboard - Rosewood
  • Scale - 25.5"
  • Finish - scraped aluminium
  • Pickguard - rusted metal
  • Bridge - Evertune
  • Pickups - EMG 81-85 set
  • Controls:
    • 2 volume knobs
    • 1 tune knob
    • 3-way toggle switch

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

Отрендеренные картинки:

Оригинальные картинки:

>>> Просмотр (1600x900, 765 Kb)

 

like-all
()

Кто все эти люди, пользующиеся тачскринами на ноутбуках?

Форум — Talks

Ну серьёзно. Ладно если ноутбук ещё трансформер, но их сейчас нормальных исчезающе мало.

 ,

like-all
()

Деплой виртуальных хостов на разработческую машину

Форум — Talks

Хорошо, допустим, что проблемы обновления вёрстки в реалтайме и последующего деплоя всего этого веб-скама я решил. Теперь меня интересует задача развёртывания виртуальных хостов на девелоперской машине, т.е. локалхосте. Ну, то есть я разрабатываю, к примеру, operden.name, а разработческую версию я хочу открывать по адресу dev.operden.name. Что нынче используют люди, будучи в здравом уме и трезвой памяти? На ум мне пришёл только конкатенатор конфигов из /etc/hosts.d/ в результирующий /etc/hosts , который я могу написать за пять минут и звать потом из постинсталла. Ставить bind и тратить потом время на настройку и изучение - оверкилл. Avahi и прочий Лёнечкин навоз - возможно, если это делается за те же пять минут. Есть ещё что-нибудь?

 ,

like-all
()

Есть ли у AOSP какие-нибудь фиды с исправлениями проблем с безопасностью?

Форум — Mobile

Сабж. Подобавлял себе в подписки все возможные фиды с security notes разнообразных операционных систем, которые использую в своей повседневной деятельности, но для Android не нашёл ничего. Есть что-нибудь, хотя бы неофициальное? Или все быдлодевайсы так и остаются торчать багами наружу?

Перемещено true_admin из talks

 ,

like-all
()

Бэкапы сервера на смартфон

Форум — Talks

Итак, у меня в смартфоне установлена 64 Гб-карточка, пространства из которой утилизировано от силы 20 Гб. Вся полезная нагрузка на vps умещается в 15 Гб. На работе есть стабильный канал WiFi и зарядное устройство. Бэкапы хочу делать из нормального линуксового чрута с помощью rsync где-то раз в неделю. Возникающие вопросы:

1) Какова вероятность скорого выхода карточки из строя?

2) Что можно сделать, чтобы снизить такую вероятность?

 , , ,

like-all
()

tinysystemd

Форум — Talks

В общем, я не дождался дебианизации uselessd, да и после передачи репозитория в другие руки он начал как-то трупно пованивать. Поэтому я попросту сделал то, что советуют многие пользователи systemd - пересобрал. Но попросту пересобрать было неинтересно, надо было героически решить пару раздражавших меня особенностей и поделиться результатом с желающими, поэтому вот:

https://github.com/Like-all/tinysystemd

При возникновении стандартных вопросов настоятельно рекомендую почитать PAQ:

https://github.com/Like-all/tinysystemd#paqpreventively-answered-questions

Отдельно хочу поблагодарить intelfx за детальные консультации. Если заинтересовало - присоединяйтесь!

P.S.: известные проблемы - много ругани от lintian; пока ещё не дописал oneshot-сервис, который удаляет /run/nologin при запуске.

 ,

like-all
()

RSS подписка на новые темы