Забавная рабочая ситуация
Apr. 29th, 2026 04:06 pmНесколько лет назад писал людям систему, которая до сих пор эксплуатируется.
Сегодня звонят: У нас сгенерированный QR-код на пропуске не распознаётся. Чем ни пытаемся считать - возвращается "No QR-code".
Начинаю вспоминать и разбираться. Выясняется следующее:
1. Когда шла разработка, я открытым текстом спрашивал, что возвращать, если поле, из которого строится QR-код, пустое. Заказчик сказал: фигня вопрос, вот прямо пустой код возвращать некрасиво, пусть будет какой-то текст про отсутствие QR-кода.
2. При создании шаблона пропуска народ накосячил и подцепил генерацию QR-кода на реально пустое поле.
3. Генератор посмотрел, увидел пустое поле и взял за основу строку "No QR-code".
4. Товарищи сканируют код, а он.... "не распознаётся", потому что приложение пишет "No QR-code" ;))))
5. Занавес :)))

P.S. Шаблон поправили, всё стало распознаваться.
Сегодня звонят: У нас сгенерированный QR-код на пропуске не распознаётся. Чем ни пытаемся считать - возвращается "No QR-code".
Начинаю вспоминать и разбираться. Выясняется следующее:
1. Когда шла разработка, я открытым текстом спрашивал, что возвращать, если поле, из которого строится QR-код, пустое. Заказчик сказал: фигня вопрос, вот прямо пустой код возвращать некрасиво, пусть будет какой-то текст про отсутствие QR-кода.
2. При создании шаблона пропуска народ накосячил и подцепил генерацию QR-кода на реально пустое поле.
3. Генератор посмотрел, увидел пустое поле и взял за основу строку "No QR-code".
4. Товарищи сканируют код, а он.... "не распознаётся", потому что приложение пишет "No QR-code" ;))))
5. Занавес :)))

P.S. Шаблон поправили, всё стало распознаваться.
«Рун не должен резать
Тот, кто в них не смыслит.
В непонятных знаках
Всякий может сбиться»
«Сага об Эгиле», Снорри Стурлусон, XIII век

В саге, кстати, описана чисто софтверная история: джун составил руническую программу для лечения девушки, но не преуспел из-за большого количества багов. Потом пришёл опытный senior-скальд, пропатчил код, а джуна выгнал с процитированным напутствием.
:)
Тот, кто в них не смыслит.
В непонятных знаках
Всякий может сбиться»
«Сага об Эгиле», Снорри Стурлусон, XIII век

В саге, кстати, описана чисто софтверная история: джун составил руническую программу для лечения девушки, но не преуспел из-за большого количества багов. Потом пришёл опытный senior-скальд, пропатчил код, а джуна выгнал с процитированным напутствием.
:)
Понемногу обо всём
Sep. 21st, 2025 10:53 pmПогода удивительным образом радует, такого тёплого сентября не было, кажется, с 2020 года. Завтра обещают ещё один солнечный день.
Работы много, и она продолжает приплывать со всех сторон. Активизировался ещё один давний проект и практически начался новый. Это не считая текущей плановой рутины и нерутины. Всё это реально интересно и хочется делать, но процесс перепрыгивания с темы на тему немного утомляет. Вчера у заказчика пропал из сети сервер, мне прилетело оповещение о недоступности. Админы разбирались полдня, выяснили, что железка просто выключена. Включили. Причин выключения не нашли. К счастью, там была только веб-морда от системы, не очень востребованная в выходные. Так и живём.
В мотошколе отрабатываю чувство баланса, для этого есть много полезных упражнений и повторы, повторы, повторы. Лучше всего получается, когда не думаешь, но это дзенское ощущение ещё нужно поймать :)
В каршеринге практически перестали попадаться некитайские машины, прежнего изобилия вагенов-шкод и киа практически нет, изредка встречаются ниссановские кашкаи. Позавчера, правда, предлагали мерседес E-класса по ценнику дороже такси, но это какой-то выброс на графике.
Собаки встречают с работы бурным визгом с подпрыгиваниями и прямо таки песнями. С учётом того, что зверьки немаленькие (обе в районе 25 кило чистой энергии), приходится аккуратно осаживать и брать в охапку, рискуя быть облизанным :)
Кошатики выходят посмотреть и уходят по своим делам, возвращаясь позднее погладиться и погреться.
Толик купил себе кактус. Маленький, двухголовый. Не знаю, зачем он ему, но выглядит симпатично.
Понемногу восстанавливаю японский. Не то что бы я его хорошо знал раньше, что-то снова захотелось продолжить занятия. Теперь делаю больший акцент на аудирование.
Хочу на тёплое море.
Работы много, и она продолжает приплывать со всех сторон. Активизировался ещё один давний проект и практически начался новый. Это не считая текущей плановой рутины и нерутины. Всё это реально интересно и хочется делать, но процесс перепрыгивания с темы на тему немного утомляет. Вчера у заказчика пропал из сети сервер, мне прилетело оповещение о недоступности. Админы разбирались полдня, выяснили, что железка просто выключена. Включили. Причин выключения не нашли. К счастью, там была только веб-морда от системы, не очень востребованная в выходные. Так и живём.
В мотошколе отрабатываю чувство баланса, для этого есть много полезных упражнений и повторы, повторы, повторы. Лучше всего получается, когда не думаешь, но это дзенское ощущение ещё нужно поймать :)
В каршеринге практически перестали попадаться некитайские машины, прежнего изобилия вагенов-шкод и киа практически нет, изредка встречаются ниссановские кашкаи. Позавчера, правда, предлагали мерседес E-класса по ценнику дороже такси, но это какой-то выброс на графике.
Собаки встречают с работы бурным визгом с подпрыгиваниями и прямо таки песнями. С учётом того, что зверьки немаленькие (обе в районе 25 кило чистой энергии), приходится аккуратно осаживать и брать в охапку, рискуя быть облизанным :)
Кошатики выходят посмотреть и уходят по своим делам, возвращаясь позднее погладиться и погреться.
Толик купил себе кактус. Маленький, двухголовый. Не знаю, зачем он ему, но выглядит симпатично.
Понемногу восстанавливаю японский. Не то что бы я его хорошо знал раньше, что-то снова захотелось продолжить занятия. Теперь делаю больший акцент на аудирование.
Хочу на тёплое море.
Нейро.Дыбр - Вайб-инжиниринг
Aug. 6th, 2025 11:32 amНаписание кода с помощью нейросетей я ругал много и часто, и мнения своего на эту тему пока не изменил. Однако, открыл для себя возможность свалить на нейросетки рутину по придумыванию форматов данных и протоколов на архитектурных стадиях проектов. Поскольку тут сама суть работы сводится к превращению нечётких описаний в чёткие иерархии, и можно задавать уточняющие промпты, LLM с ролью советчика справляются отлично. Ну и я не трачу время на создание развесистых спецификаций вручную с нуля.
Чем больше я погружаюсь в глубины контейнерных технологий, тем больше крепнет впечатление, что каждый второй в этой сфере разрабатывает свой стек для сборки, деплоя и управления докерами. Т.е. "вот 10 прекрасных средств для того, чтобы сделать A, Б и В, но если нужен шаг в сторону - напишите скрипт сами"
:)
:)
Флегматично: «Docker-контейнер, в котором нет интерпретатора bash, можно назвать безбашенным»
Сижу и придумываю вменяемое CI/CD для наших серверных продуктов, допускающих однотипное "маленькое" (один инстанс стека) и "большое" (автоконфигурируемое ХЗ-сколько-штук) развёртывание через docker-контейнеры. Ну и автогенерацию-автозапись образов в репозиторий по тегу из гита в качестве промежуточного шага. Продукты - не микросервисы, а такие "полумонолиты", хорошо оптимизированные под свои задачи :)
Ни одно из готовых решений не покрывает всех хотелок, а хочется сделать красиво :)
DeepSeek в качестве советчика, кстати, весьма неплохо подкован в этой теме, во всяком случае, предлагает вполне рабочие варианты связок.

Картинка из Шедеврума.
P.S. За окном дождь с запахом липы. В этом году июнь - особенно липовый месяц, столько одновременно цветущих лип давно не видел.
Сижу и придумываю вменяемое CI/CD для наших серверных продуктов, допускающих однотипное "маленькое" (один инстанс стека) и "большое" (автоконфигурируемое ХЗ-сколько-штук) развёртывание через docker-контейнеры. Ну и автогенерацию-автозапись образов в репозиторий по тегу из гита в качестве промежуточного шага. Продукты - не микросервисы, а такие "полумонолиты", хорошо оптимизированные под свои задачи :)
Ни одно из готовых решений не покрывает всех хотелок, а хочется сделать красиво :)
DeepSeek в качестве советчика, кстати, весьма неплохо подкован в этой теме, во всяком случае, предлагает вполне рабочие варианты связок.

Картинка из Шедеврума.
P.S. За окном дождь с запахом липы. В этом году июнь - особенно липовый месяц, столько одновременно цветущих лип давно не видел.
При переходе с C++ на чистый C приходится смотреть в оба.
В частности, если ты сделал typedef enum, создал функцию с параметром такого типа, а потом при её вызове подставил переменную типа int, тоотряд не заметит потери бойца gcc -Wall проглотит это молчком, потому что первое - фактически int, а второе - int явный, чего тут разбираться-то? :)))
Если что, задача была отсекать на уровне компилятора использование в параметрах функций значений от другого enum-а.
В частности, если ты сделал typedef enum, создал функцию с параметром такого типа, а потом при её вызове подставил переменную типа int, то
Если что, задача была отсекать на уровне компилятора использование в параметрах функций значений от другого enum-а.
Вот так не пишешь год приложений под андроид, не пишешь другой... А потом берёшься за новый проект, ставишь свежую версию Android Studio, и видишь, что JetBrain полностью перефигачил user interface в новую парадигму.
Поставил Ladybug, там всё совсем по-другому стало, меню в шапке - "по требованию" (+ 1 клик в иконку "три полоски"), кнопки "Sync with gradle files" вообще не нашёл.
Придётся привыкать :)
Поставил Ladybug, там всё совсем по-другому стало, меню в шапке - "по требованию" (+ 1 клик в иконку "три полоски"), кнопки "Sync with gradle files" вообще не нашёл.
Придётся привыкать :)
У меня появился свой марсоход Spirit. Или даже Opportunity.

Устройство, расчитанное на 5 лет работы от одной батарейки, в условиях теста с кратной нагрузкой (96 основных нагрузочных циклов в день вместо двух) пашет уже расчётные 15 :)
Я понимаю, что электрохимия - наука занятная, и прямая экстраполяция не работает, но, тем не менее. График разряда загибается предсказуемо, вопрос в практическом коэффициенте. А для его определения есть другая тестовая серия, с 24 циклами в день.

Устройство, расчитанное на 5 лет работы от одной батарейки, в условиях теста с кратной нагрузкой (96 основных нагрузочных циклов в день вместо двух) пашет уже расчётные 15 :)
Я понимаю, что электрохимия - наука занятная, и прямая экстраполяция не работает, но, тем не менее. График разряда загибается предсказуемо, вопрос в практическом коэффициенте. А для его определения есть другая тестовая серия, с 24 циклами в день.



