Чтобы добавлять сообщения и комментарии, .

@agr:
agr

Первая студентка раскачалась и зажгла. Того гляди, и решит задачу семилетней давности. Вторая тоже, качает, может..

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

1. Как выявлять этот блеск или даже огонёк в глазах, по которому можно свидетельствовать о том, что называют шилом в заднице или иначе — внутренним стержнем, о том, что делает из людей победителей по жизни? Видел я тут один пример, но одного примера мало для выявления паттерна.
2. Как разогреть людей до появления такого огонька?

@agr:
agr

twitter.com

Видео с открытия нового офиса, в который набегал последние две недели своего присутствия

@agr:
agr

дорос до докера. для того, чтобы получить  ~/.stack/programs/x86_64-linux на OSX, пришлось в stack.yaml добавить следующее:

system-ghc: false
docker:
image: fpco/stack-build:lts-8.0
enable: true
run-args:
— --ulimit=nofile=60000
set-user: true

GHC для сборки нужно порядка 30000 открытых файлов. системные значения — около 15 тысяч. Да, забыл сказать, что сначала надо было сделать upgrade проекта с 7.10.2 на 8.0.2. До этого в системе действовал какой-то другой лимит, уже успел забыть, мешавший компилятору делать своё дело. Потом с lts-3.22 уходить на lts-8.21. Теперь — делать небольшой downgrade до 8.0, т.к. для 8.21 не было образа, а делать образ спецом уж крайне лениво было. Теперь вот зоопарк конфигураций.

@agr:
agr

Сегодня — хороший день.
Джетлаг почти не даёт о себе знать. Организм почти восстановился от стресса, вызванного перелетом.

Теперь надо входить в поток и делать полугодовую активность за один месяц по описанному ранее процессу. После этого выдастся возможность переиспользовать пять месяцев для закрытия хвостов по другим проектам, подзатащить хаскельца, например.

@agr:
agr

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

Сайт:
— делегирование домена успешно осуществлено.
— осталось несколько тэгов из schema.org прикрутить.
— можно деплоить сайт после этого.

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

Новости фронтэнда.
— после устранения боли в стерилизации JSON и прикручивания CORS к серверу процесс качественно ускорился.
— не покидает меня мысль о том, что промежуточный State на клиенте не нужен. N2O.hs себя хорошо показывал, но еще очень сыроват в качестве веб-фреймворка. Думаю после деплоя сайта уделить ему качественно времени.

@agr:
agr

Порою кажется, что даже проектный солвер будет использован во вред, а не во благо. Дашь им инструмент, системный подход, а они всё попрячут, ограничут доступ, будут юзать, а наружу — пускать отредактированные руками графики и метрики. Иначе зачем это всё?
Зачем нам тула, заменяющая нас? Ничто человеческое нам не чуждо.

Делал бы так я сам, мухлевал бы с изменениями значений атрибутов проекта во времени, если бы был проектным менеджером? Хороший вопрос.

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

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

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

@agr:
agr

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

Пример.

— Мы собираемся порезать тебе сроки на 20 md.
— Вы не правы, мы не укладываемся, если порежем на 20 md.
— Ок, дай нам список рисков и соответствующие планы по их устранению.
— Держите.
— Ну вот, ты же видишь, что мы укладываемся, где тут противоречие?!

Если продолжать давить на логику, то либо уходят в личное, гнобят, обвиняют в саботаже.

@agr:
agr

Есть какая-то неуловимая хреновина в больших проектах под большой бизнес.
Тут и legacy накручивается от криво построенных бизнес-процессов заказчика, и внутренний ппц, исходящий уже от внутреннего менеджмента, которому по-хорошему расстрел бы прописать пару десятков раз, чисто профилактически.

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

@agr:
agr

Большой прогресс по достижению цели.

Дали тестовое задание из конторы, в которую стучусь уже давно из-за локации, в которой находится один из её офисов. Запилил мокап, отправил тут же. Ща буду генерить JSON и клиента для отображения. Заодно посмотрю, на что способны PureScript/Elm. Fay мне понравился, хоть и он и того, но не им единым. И да поможет мне сила.

@agr:
agr

Дополнил все точки выхода из диаграммы условий контентом, пару раз отрефакторил.
Бинарное дерево с Bool и вышло. Лаконичнее код уже не получилось написать. Посмотрю на код через месяц-другой обязательно. Как его ещё можно улучшить.

Добрался до гипотез. Реализовал весь подсчет на стороне базейки. Надо протестировать. Потом — монетизация. Пока смотрю в сторону коробочного решения типа яндекс.кассы.

Потому что, сначала надо фичи релизить, да. А потом уже отсекать сущности бритвой Оккама. Долгострой пора выводить в продакшн.

@agr:
agr

achievement unlocked: 1829x times faster code execution.
пользуясь случаем, передаю привет индийским братьям.
и да, печально, что сами ребята не справляются с рефакторингом собственного кода. ведь некогда думать, надо писать код.

@agr:
agr

Прошедшей ночью одним продакшном в мире стало больше.

@agr:
agr

thehftguy.com

Даже где-то слышал про то, что надо было выкинуть эрланг из core и переписать всё на Go, тогда бы и докер взлетел.

@agr:
agr

Внезапная история успеха. Написал на коленке за полчаса эмулятор для теста интеграции. Сегодня менеджер приходит с вопросом лицензирования. Заказчик хочет протестировать интеграцию, но не может предоставить лабу. Продают ему хаскель. Запросил процент с продажи..

@agr:
agr

Когда температура достигает 39.4, то лучше не кодить вообще ничего, а сосредоточиться на выздоровлении.
В прошлый раз N лет назад таким образом были стерты все наработки по разным проектам.
Сейчас — репозитории и системы контроля версий, но возможности просто наговнокодить чего-то такого, что потом проще будет выпилить и забыть это как страшный сон, никто не отменял.

@agr:
agr

Теперь на очереди FSM и TCP.

Да, в Колумбии очень много людей занимается спортом. По выходным это особенно заметно. В воскресенье улицы перекрывают полностью или частично для машин. В город выходит бегать или кататься на роликах/великах/... около миллиона человек.

@agr:
agr

Вдогонку к #2856249. Лень было gdb ставить. Всё оказалось весьма тривиально. Пересел с 8.0.x на 7.10.2 — стало падать вменяемое исключение ErrorClosed, а не segfault.

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

@agr:
agr

Поправка, не 8h, а 10h. После короткого перерыва (мне показалось, что финиш) потусили ещё пару часов. На утро чувствовал себя как с похмелья.

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

Думаю интереса ради оставшееся время в Колумбии продолжать периодически абстрагироваться от коллег, чтобы вовлекаться глубже в понимание испанского. И начать уже на нём говорить не простыми существительными.

@agr:
agr

8h обсуждение с заказчиком открытых проблем по одному модулю. Преимущественно на испанском. Всё понимаю, но сказать мало что могу.

Попутно пытаюсь отловить segfault, роняющий хаскельный статик-файл-сервер при закрытии TCP-соединения во время обращения к серверу через wget. Какой тулой в винде их ловить?

Вечером надо будет перезагружать мозг.

@agr:
agr

Hint: врубаешь на территории заказчика translate.google.com, микрофон и наслаждаешься.

В случае с языком, отличного от английского (например, я не достаточно хорошо знаю испанский, чтобы понимать, о чем идет речь), сильно упрощает жизнь.

@agr:
agr

Вдогонку к #2851091.
Если налицо занижение бюджета в пять и более раз со стороны заказчика, то зачем унижаться? Есть другие заказчики. Один раз вышел на такого.

Поначалу всё ок, есть задача, звучит всё просто. Но всё это не имело никакого значения, т.к. я тупо с предметной областью не имел дела. Условный бюджет на research и анализ быстро проеден был, а после — выяснилось, что стоимость билда недооценена раз так в десять. Поскольку подтвержденной договоренности (ни подписанного договора, ни соглашения) не было (был чисто интерес разобраться, что ж это за хрень), высказал претензию заказчику, а он понес в ответ дичь. — До свидания!

@agr:
agr

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

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

@agr:
agr

Извечная проблема.
— С заказчиком нужно согласовать спецификацию до начала фазы build.
— Но она по-любому изменится со временем.

Потом:
— Почему вы мне демонстрируете реализацию копии, отличную от подписанной?
— Потому что с ней вы огребаете следующие три десятка data issues. А в новой — они зафиксированы, смиритесь.

Стоп.
— Почему заказчика не уведомлять об изменениях?
— А потому что он всё равно их не отслеживает.