agr
дыбр пригорело сейчас от голосового помощника сбербанка:
— чем я могу вам помочь?
— номер р/с банка
— зайти в раздел реквизиты
— я отправила вам информацию, перейдите в раздел "о карте", там реквизиты, чем я ещё могу вам помочь?
— их недостаточно, мне нужен р/с банка, недостаточно реквизитов
— я отправила вам информацию, перейдите в раздел "о карте", там реквизиты, чем я ещё могу вам помочь?
— соедините меня с оператором
— все операторы сейчас заняты, о чем вы хотите поговорить с оператором?
— реквизитов на сайте и в приложении недостаточно
— я отправила вам информацию, перейдите в раздел "о карте", там реквизиты, чем я ещё могу вам помочь?
— соедините меня с оператором
— все операторы сейчас заняты, о чем вы хотите поговорить с оператором?
— просто соедините меня с оператором
— все операторы сейчас заняты, о чем вы хотите поговорить с оператором?
— недостаточно информации
— хорошо, соединяю с оператором, время ожидания.. менее 1 минуты!
— соединяй уже давай!!1111111
— хорошо, соединяю с оператором..
agr
дыбр проектное поставили задачу рассказать о процессах, связанных с работой приложения, над которым я тружусь.. по фану получилось описать достаточно быстро. получилось 17 штук. в начале ошибочно полагал, что 5 от силы. так всегда, кажется: да что там, фигня, а нет! вся соль в деталях и мелочах, за которыми и кроется вся сложность. вдуматься, 17 процессов, требующих ручного вмешательства, фокуса внимания и времени. хорошо ещё, что самые часто повторяющиеся полуавтоматизированы. но и это можно и нужно улучшить.
agr
дыбр погроммирование есть эксельник с 23-65 колонками (параметрами, которые нужно подать на вход другой интеграции). первые 3 — ключ словаря, все остальные — значения словаря, изменяющиеся в зависимости от первых трёх и ещё, возможно, нескольких других внешних. написал тип данных, покрывающий все колонки. описал все правила сопоставления для всех колонок (т.е. решил задачу) и упоролся. очень мерзкая задача, от которой мне не по себе (уже после выполнения), позади.
agr
дыбр сегодня поставил вторую компоненту спутника по расписанию спустя 3 недели после первой.

полет нормальный, разве лишь, рука немного ноет.
agr
дыбр Haskell проектное Не прошло и года. В #2980231 я рассказывал об утекающих сокетах и грешил на сервер warp. Сегодня до меня, наконец, дошло, что это мой говнокод приводил к проблемам. Забивались очереди, по которым выстраивались коммуникации между серверными обработчиками запросов и фоновыми процессами.. Стоило затюнить скорость чтения из очередей и поставить метрики размера очередей на мониторинг — и, кажется, проблема ушла, warp ни при чём. А время покажет.
agr
дыбр вчера вечером провел по доброй воле на улице два часа. сначала стало дико холодно, но спустя 20 минут согрелся. через 40 минут начали замерзать руки и ноги. следующие полчаса шел на автопилоте. потом зашёл в помещение и чуть отогрелся. остальные полчаса возвращался домой, было просто холодно, немного трясло.

принял горячую ванную, руки и ноги вернулись ко мне, отогрелся.

сегодня чувствовал себя отвратительно. несмотря на это, провёл вечером на улице ещё час. мороз не кусался, но словно обжигал. по возвращению лишь приятная усталость.

agr
дыбр проектное вдогонку к #2986032: как же хорошо без докера! нагрузка подросла, потребление памяти снизилось, сегфолтов не было. полёт нормальный!
agr
дыбр проектное наконец, нащупал, как выпилить докер как слой приложения. проблема была в том, что если собирать на линуксах с glibc, то во-первых нарушается GPL. а ещё при отправке запроса к серверу он начнет падать с segfault.

если же перейти на Alpine, который идёт с musl и использовать как базовую систему для сборки, то тогда получаемый бинарь будет лишён этих недостатков. теперь можно деплоить на все деньги!
agr
дыбр OSX в этой гонке за достижениями легко растянуть "достигалку", что со мной и случилось. в результате плюнул и решил провести время, деградируя. заместить текущие страдания побегом из реальности, поставить себе на мак компьютерную игру. оказалось, что процесс установки и запуска куда увлекательнее, чем сама игра. описываю его вкратце.

— Catalina не поддерживает пуск 32-битных приложений.
— ребята из CodeWeavers, авторы проекта Crossover for Mac, выложили wine32on64, позволяющий делать подмены исходящих и входящих инструкций, таким образом, обходя ограничение на запуск приложений. gist.github.com
— сборка из сорцов — процесс пикантный, поэтому зашёл через macports: github.com
— port install wine-crossover
— попутно переустановил CLT: trac.macports.org
— словил по ходу дела "Failed to destroot MoltenVK". пришлось патчить Tcl-скрипт (портфайл), чтобы вытащить сорцы из и подложить их куда надо.
... спустя 4 часа компиляции gcc (от mingw) под x86_64 и под i686 и кучи других зависимостей с применением патчей от Crossover, заботливо собранных в порты мейнтейнером Wine под OSX ...
— BAD EXE FORMAT. wine64 сообщил мне. wine в принципе бесполезен.
— из комментов к 1 ссылке взял скрипт сборки, подвез добрый человек: github.com
... на этом этапе ещё 5 часов можно подождать, пока соберётся llvm, clang, wine32on64 ...
— на сборке wine32on64 падает clang-8: error: clang frontend command failed due to signal
— а, ну да, забыл экспортировать пути к обновлённым flex и bison (2.7.0 против 3.0).
... спустя ещё 5 часов ...
SEGMENTATION FAULT
— а потом полез смотреть, что ещё хорошего есть у доброго человека, обнаружил, что всё есть в homebrew:
— brew tap gcenx/wine
— brew install --cask --no-quarantine wine-crossover

Из-за того, что CodeWeavers грязно захачили llvm и clang, разработчики wine не могут вот так просто взять и принять патчи из CodeWeavers, выдумывают себе страдания, порты и успешно преодолевают эти трудности.
agr
итоги +2 недели в Мoскве.

111 дней без гoлoвнoй бoли.

был признан контактным по COVID-19, выдержал самоизоляцию.
после этого простужался дважды. в первом случае антител не обнаружено.
во втором случае.. ещё не выздоровел: самоизоляция в процессе.

*Сoбытия*

— f(by) — участие в кoнференции в Минске в качестве слушателя, во второй раз.
— fprog.spb — участие в качестве слушателя.
— испортил человеку целый год жизни.
— устроился на вторую работу.
— апгрейд съёмной квартиры и рабочего места.

*Сайт*

— продан!
— новый стартанул, но забуксовал.

*Opensource*

— мейнтейнер 9 пакетoв (+6 пакетов).
— автoр 3 пакетoв (+1 пакет).
— +2 блогпоста.
— отправил патчи ещё в несколько опенсорсных библиотек.

Предыдущие итоги:
— 2019: #2959300
— 2018: #2931281
— 2017: #2893653
— 2016: #2858007
— 2015: #2816389
agr
дыбр погроммирование в продолжение к #2977577. 4 месяца ушло на то, чтобы принять такую незначительную деталь как фрагмент урла в состав серванта! и то, дело сдвинулось с мертвой точки, когда в состав комиссии попал наш человек!

опенсорс — это не просто сложно, но иногда и утомительно.

судя по твиттеру, берлинская тусовка воюет с k8s. что ж, успехов им там!

4 месяца, ну блин. освободил ячейки для следующей по счёту задачи.
agr
странное ваша кофейня выбрана нашим клубом кофейных людей. мы собираемся раз в месяц по вечерам, пьём кофе и веселимся. и каждый месяц выбираем лучшего бариста и лучшую кофейню для реализации нашего собрания. от вас требуется сообщить нам, за какое время вы можете приготовить 24 порции латте объемом 0.4 каждая и согласитесь ли вы, чтобы мы стали вашим последним/крайним на сегодня клиентом. мы придем вечером в указанное время, при условии, что вы обслужите нас и сразу после этого закроете кассу, это условие нашего ритуала даёт нам эксклюзивное право считаться последними клиентами в этот день. в знак подтверждения серьезности наших намерений мы демонстрируем вам стойку 4х3х2 под 24 стаканчика, которую принесем с собой. итак, вы согласны стать нашим баристой на сегодня?
agr
дыбр странное попросил телефонных спамеров оставить их исходящий идентификатор разговора, присваиваемый их системой в колл-центре для последующей регистрации во внутренней системе. на вопрос зачем, последовал ответ "в настоящий момент формируется обращение в ФАС, собираю детали", извинились за беспокойство и досрочно прервали данный разговор.
agr
дыбр проектное #2979421 недели три назад продал сайт. а сегодня задеплоил (надеюсь) последнюю доработку по нему, уже для нового владельца.

от 2020 осталось навскидку 8 недель. интересно, что ещё можно успеть сделать за это время.
agr
дыбр Haskell СЯУ, что при определенных пока не поддающихся упрощению обстоятельствах warp перестаёт закрывать сокеты, оставляя их в close-wait до полного исчерпания. пока не понятно, как нужно составить, отправить и рубануть запрос, чтобы сервер вёл себя так.
agr
ненависть дыбр вдогонку к предыдущему посту. как будто в отделение банка сходил. ровно тот же опыт теперь можно приобрести, не выходя из дома. ненависть. ненависть.