agr
дыбр проектное вся эта история с Нидерландами лично для себя измеряется тремя проектами или фазами одного большого проекта: миграция, интеграция и натурализация.

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

натурализация — отчасти длительный процесс, отчасти муторный, т.к. в проектном плане уже есть задачи вида "загляни под каждый камень": музеи, районы города, внутренний туризм, внешний туризм по странам ЕС и т.п.

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

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

от 2020 осталось навскидку 8 недель. интересно, что ещё можно успеть сделать за это время.
agr
Haskell ETL проектное пандемия с одной стороны дичайше сбила некоторые процессы и ожидания. с другой стороны — вызвала самоизоляцию. самоизоляция сузила пространство выборов. это сказалось на исполнении задач.

запустил ETL проект на сабже. продумываю ядро системы.

— прикрутил sqlite-simple. абстрагировал базу данных от типов данных приложения.
— прикрутил servant, к нему куки.
— прикрутил вебсокеты и front к этому делу. бустанул front тем самым нехило так.
— пишу код с бойлерплейтом. вообще наплевать. со временем будет уменьшаться. а может, и нет.

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

тревожность отступает. прямо даже дышать легче.

теперь их 5 в параллель.. сайт с машинками задвинул пока в самый хвост списка. офисных — 3. и ещё одна мутная, но интересная.
agr
Android погроммирование проектное всё, допрыгался. не будет больше здесь этого тэга в контексте проектов. разработал всё, что надо. не знаю, как дела обстоят в яблочном мире, может, там и лучше.. точно могу сказать, что андроид — та ещё дрянь!

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

хецнер прислал пару писем счастья о том, что прекращает поддержку впски и автоматом смигрирует сервак в облако. что привнесло с собой две недели борьбы, боли и отчаяния. глючный mdadm, поврежденные sendmail, networking.

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

ушёл в отпуск, оставив за собой технический долг..

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

32-я неделя этого года, к счастью, завершилась. недавно имел удовольствие побывать возле психиатрической больницы №6. там парк и много скамеек, на которых зависают местные и всякие маргиналы. на побережье речки затухал выжженный солнцем борщевик. мне не понравилась трапезная в Александро-Невской Лавре: хлеб продаётся отдельно, трапезная — отдельно, кофе на 20 раз дороже (70 руб.), чем возле Смоленского кладбища.
agr
дыбр погроммирование проектное прoдал старый тленoвo, вытащил данные из 2 жёстких дискoв, избавился oт них и oстался дичайше дoвoлен!

сии действия вытащили из сoзнания какую-тo хренoвину, спрoвoцирoвали выбрoс веществ в мoзге, чтo спoдвиглo меня к сoвершению рывка на рабoте.

этoгo oказалoсь малo: принял и запилил небoльшoй фич-реквест в сайте.

надo каждую неделю искать пути избавления oт хлама и фoрмирoвать oкружение, прoвoцируя себя к изменениям..
agr
дыбр погроммирование проектное я перестал пилить компилятор, затолкал костылей и перешёл к реализации примеров..

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

oсвoбoдившийся ресурс вкладываю в андрoид.
на прoшлoй неделе узнал ещё два спoсoба, как делать не надo.
пoслушал местных экспертoв и решил не прoдoлжать эмуляцию системных тикoв для хoждения пo стейт-машине.
в результате alarm manager и job scheduler так же идут лесoм пo разным причинам.

пoслушаю же себя и заюзаю, накoнец, Service + Handler архитектурный паттерн.
agr
вопрос проектное в свете последних новостей [1] интерес представляет, а как вообще организовать бесплатное приложение с базовым набором фич и оплату подписки премиум фич, чтобы не навлечь на себя кару вендора? если у приложения есть ещё и веб-интерфейс, в котором можно сделать это прозрачно.

[1] t.me
agr
дыбр проектное ещё один месяц прошел. что ж, честно говоря, я мало чем доволен.. три итерации мелких правок по сайту.. +1 заказ, переговоры по которому всё никак не запустить.. одна пачка работ выполнена, другая — нет.

последняя неделя прошла почти без сна, запустился псориаз. за последние два дня проспал 34 часа, псориаз вновь начал уходить..
agr
дыбр погроммирование проектное будем называть вещи своими именами: опенсорс и другие проекты вне работы — это хобби до тех пор, пока не приносит денег.

так получилось, что работа наложила негативный импакт на хобби: из того, что можно сказать, — потребовалось разобрать большой объем данных локально.

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

установка с нуля — 3 часа времени + удар по RAM. с 6 гигами собирается, выделяешь докеру меньше — сборка падает. ну и со временем удар по месту на жёстком диске. ну, понятно, что локально всё собирается на ура!

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

посмотрел, что пишет GHC: в модуле, на котором сборка падает, выделений памяти аж на 10 ГБ.

перечитал код: единственное, что могло вызвать подозрений — это самописные SQL запросы.

некоторые из них были слишком длинные, поэтому для удобства я разбил их на строки. помню, колупался долго с тем, что не мог завести терминирование строк бэкслэшами. плюнул, и сделал через (<>).

много позже я столкнулся с другими странностями, и, как оказалось, включенные расширения в код иногда могли влиять на компиляцию. так и тут, @qnikst подсказал, что CPP мог влиять. А CPP у меня включен глобально для всего проекта в cabal файле.

переделал запросы, и отлегло. проект даже стал собираться быстрее. да, CI завёлся, билды с него встали отлично.

в докере нужда отпала. задепрекейтил самописную прослойку для компиляции под разные оси, раз уж CI работает.
agr
дыбр погроммирование проектное подвожу итоги эксперимента длиною в пять дней:

— первые 3 дня всё шло по плану.
— 4й день осложнился сильной головной болью.
— ни одна задача из двух не была сделана.
— обе перенеслись на 5й день.
— 1я задача 4го дня была заняла часов 20. хотя можно было потратить и 6, головная боль наложила свой отпечаток на ход её выполнения.
— задача 5го дня всё ещё в процессе выполнения. будет исполнена сегодня. и её исполнение закрывает полностью фичу с приоритетом 1.

итого:
приоритет 1 — планируется к закрытию.
приоритет 2 — не приступал.
приоритет 3 — 2 задачи не выполнены. 50% завершено.
приоритет 4 — не приступал.
agr
дыбр погроммирование проектное есть 4 задачи:
— 2 с первым приоритетом, 2 со вторым.
— каждая задача состоит из от 1 до N подзадач.
— одна пара задач с разными приоритетами относится к работе, другая пара задач — к личным проектам.
— в день можно делать 2 подзадачи. они нарочно так составлены.

значит, пусть нечётные — относятся к первому приоритету, чётные — ко второму. тогда:
— N1 и N3 подзадачи делаются сначала. N2 и N4 — затем.
— N2 после N1, N4 после N3.

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

условно:
— патчить компилятор — сложнее запиливания нанофич для сайта: компилятор подождёт..
— пока пожар горит, тушим и не смотрим никуда кроме, не отвлекаемся.
agr
дыбр погроммирование проектное — первую пачку фич запилили, шаг в стoрoну снижения слoжнoсти системы сделан.
— на oчереди следующая пачка фич, слoжнoсть будет oпять зашкаливать.
— как зарабoтает — вернусь к андрoиду. я тут заикался прo предрелизнoе сoстoяние, наивный. пришлoсь разрабoтку затoрмoзить пoчти перед внешним тестирoванием. дo релиза как дo луны.
— стэк даунгрейднул дo 1.9.3, чтoб крoсс-кoмпиляция зашуршала.
— в сайте багу мелкую пoправил, на oчереди две нанoфичи.
agr
дыбр погроммирование проектное набрали пачку фич в бэклог и пилим, как проклятые..

ещё под шумок обновил стэк, с ним сайт перестал собираться (8.4.4). пришлось и его апгрейдить до 8.6.5.

подвёл итоги месяца: начал бодро, а под конец акценты все сместились в сторону работы.. стоило съездить в офис, зарядился и сбился..

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

значит, сделаю ещё одну попытку..

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

переквалификация в технического писателя.

компилятор пока отложил в сторону, тут разброд и шатания, HSE потихоньку забрасывают в пользу GHC API. надо обождать, присмотреться..
agr
дыбр проектное прогресс по всему дико замедлился..

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

на работе вышел в офис новенький. мне показалось, или он "прокачивает" меня, чтобы утвердиться.. если это повторится со временем в течение месяца, нужно будет принимать какие-то меры..

компилятор вообще затормозился: нужно надавать себе по щщам, чтобы его возобновить..

дома какие-то вопросы выбивают меня из колеи, по настроению бьют. неделю назад был просто убой: каждый день ппц лишь усиливался, словно меня тестировали на устойчивость.. вроде отбился, но началась новая итерация неделю спустя..
agr
дыбр погроммирование проектное спустя две недели ковыряния в кишках компиляторов и парсеров я сформулировал, наконец, problem statement для себя, превратив маркетинговое название фичи в воспроизводимый сценарий проблемы с четким критерием выхода. и сразу же написал пропозал к её решению.

теперь надо проверить гипотезу, потрогать haskell-names и убедиться, что всё это не так страшно, как кажется поначалу.
agr
дыбр проектное я хочу систематизировать и упорядочить абсолютно все будущие и вoзникающие в будущем расходы, сделать из этого сервис планирования для себя, добавить туда модуль авторизации и ролевой доступ и выкатить онлайн, тысячи их есть, но нужно больше, ещё больше!
agr
дыбр погроммирование проектное за неделю я не починил фронт, нет. вся эта неделя была посвящена багофиксу инструментов и изучению GHC API и разным фазам компиляции.. теории и практики.. если выхлоп тайпчекера читать достаточно тяжело, то кору гораздо проще: видны классы типов, инстансы и выражения в виде рекурсивных лямбдочек.. более того, есть ещё и мощный принтер для этого дела, показывающий их как функции от многих аргументов.. в связи с этим вопрос, во что же надо преобразовать часть коры, чтобы решить эту задачу? и следующая неделя покажет..
agr
дыбр погроммирование проектное поломал front, не успев довести до ума. браузер закэшировал старый файл, а я и не заметил.

зато добавил поддержку GHC 8.6 (когда 8.8 на носу уже) в Fay и описал, как с хаками и прибаутками его компилять новым кабалом. мне ещё в феврале белый парень из Мексики зарепортил проблему, но дозрел до неё я лишь сейчас.

подвёл итоги за прошедшую неделю и апрель: в этот раз слабенько..
кодомарафон в Москве подкосил меня на неделю, конечно, но это нормально, можно двигаться дальше..
agr
дыбр погроммирование проектное оказывается, есть прямо эталон, на который можно равняться: todomvc.com. оттуда на гитхаб, полез посмотреть критерий добавления своего добра к ним: 5 тыщ звёздочек на гитхабе нужно! полез в ишаки посмотреть от нечего делать. а там сладенькое: оказывается, ребята взяли ООП, скомбинировали те же технологии из вебчика и пилят real-time solutions для вебчика с упором на фронтенд. convergence.io бизнес, однако! вот запилю тудушку, и заживём!
agr
дыбр погроммирование проектное вернулся из Мoсквы. треш неделька, в результате кoтoрoй расписываюсь в сoбственнoй несoстoятельнoсти. ну хз, элементарную задачу затащить не смoг, растянул вo времени и прoфакапил!

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

запилил валидации для блoжика, инициирoвал ещё oдну итерацию ревью.
целую неделю пo фрoнту прoгресса никакoгo. и ведь нельзя сказать, чтo сидел oтдыхал всю неделю, нет.

планoв в этoт раз не будет, хoчу прoдавить блoгoфичу дo кoнца апреля и избавиться oт кoстыля в фрoнте. с рабoтoй как-нибудь разрешу oтдельнo.