Alexander
был успешным erlang программистом
Alexander
а теперь что?
Leonid 🦇
Успешный твиттер
Alexander
ну он тоже в тибеты всякие ездил надолго
Denis
я про отдых говорю, а не про поездку на курсы хамов
Alexander
=)
Leonid 🦇
Одичал в горах
Denis
в тибет наверное полезно съездить, мозги прочистить
Denis
Можно обряд воздушного погребения посмотреть по соседству, для переоценки ценностей. Это вам не сноймана комментировать.
Kirill
В Израиле тоже всякие обряды есть :)
Denis
у них и автоматические лифты есть по субботам
Alexander
Шабесгои.
A64m
никогда не хочется колоть дрова
A64m
больше скажу, очень хочется их никогда не колоть
Denis
я бойлерплейт люблю, забыли?
Leonid 🦇
А чо там в пейпере у Вадлера?
A64m
в каком?
Leonid 🦇
Comprehending Monads.
Leonid 🦇
или во втором, который The Essence of Functional Programming.
A64m
я вроде и не читал их
Leonid 🦇
короче во втором пепере у него нет полиморфизма по m
A64m
так в хаскеле тогда конструктор-классов не было, какой полиморфизм?
Leonid 🦇
How does one combine monads? The monads used in the Haskell compiler in volve a combination of features; for instance, the type inferencer combines state and exceptions. There is no general technique for combining two arbitrary monads. However, Section 3.3 shows how to combine con tinuations with any other monad and similar techniques are a vailable for the state, exception, and output monads [Mog 89a, Mog 89b ] One might form a library of standard monads with standard ways of combining them. This would be aided by parameterised modules, which are present in Miranda and StandardML, but absent in Haskell.
Leonid 🦇
ну вот
Leonid 🦇
значит HKT не нужен для монад по Вадлеру
Denis
предлагаю “неомонадное-программирование"
Leonid 🦇
пост-вадлерное
Denis
норм
A64m
значит HKT не нужен для монад по Вадлеру
правда ради них их в онсовном и сделали
Maksim
Господа знатоки, а кто может порекомендовать хороших статей/ресурсов на тему перформанс-тестирования или бенчмарков каких для многопоточных хаскель приложений?
Alexander
бенчмарки смотреть в сторону criterion и какой-то ещё либы и докладов по ним, и в сторону книжке по статистике - любой
Alexander
перформанс тестирование - тут сложнее, есть eventlog/ticky-ticky profiler но там как-то все плохо
Alexander
perf-ом нормально не погоняешь
Maksim
Ну т.е. у меня приложение, которое во много потоков работает с общими для всех потоков данными. Как мне можно быть уверенным, что при следующих изменениях я не сделаю сильно хуже? Обычные (однопоточные) бенчмарки мне не очень годятся.
Maksim
Или это уникальная проблема и никто с таким не сталкивается?)
A64m
ну пусть бенчмарки многопоточными будут, не понятно в чем проблема?
Alexander
вообще нормальное решение это добавление метрик, у нас было через event log
Alexander
после прогона программы можно собрать статистику по тому, что где сколько занимало
Alexander
но в end-to-end решение для ловли регрессий мы это не превратили
Alexander
может на этой-следующей недели доведём до ума
Dmitry
Или это уникальная проблема и никто с таким не сталкивается?)
А в чем проблема запускать на больших фмксированных данных и смотреть общий результат?
Maksim
А в чем проблема запускать на больших фмксированных данных и смотреть общий результат?
Видимо, такой вариант и остаётся. Я надеялся, что есть что-то более элегантное.
Alexander
ну запустить программу скольки угодно поточную в criterion это вполне себе результат
Alexander
с бенчмарками и их анализом везде какие-то проблемы, такое ощущение, что они статистику хуже меня знают
Alexander
а я её не знаю
Maksim
ну запустить программу скольки угодно поточную в criterion это вполне себе результат
Т.е. никаких tips and tricks для многопоточных бенчмарков в criterion нет?
Maksim
Может быть кто-то подскажет пример проекта с хорошими многопоточными бенчмарками на criterion?
A64m
я вообще думаю что критерион выдает результаты искаженные по сравнению с реалистическим сценарием выполнения, когда ГЦ работает как обычно и т.д. так что я бы посоветовал, действительно, просто на таких данных запускать чтоб достаточно времени проработало и анализировать выхлоп ГЦ диагностики в машиночитаемом виде
Alexander
он же просто запускает и ждет завершения
Alexander
никакой разницы сколько там потоком нету
Maksim
При всём уважении, это звучит примерно как "а какая может быть разница между многопточными и однопоточными приложениями? никакой разницы сколько там потоков нету" Разница есть.
Andrey
"Приложение без потока подобно приложению с потоком - только без потока" (С)
Alexander
с т.з. того что критерион делает и как
Alexander
или вопрос поставлен не достаточно точно
Alexander
и нужно достаточно много чтобы статистика была нормальной
Alexander
если каждый раз делать startup-teardown или терять потоки, то проблемы могут быть
Alexander
:/
Denis
Кул стори дня. Когда давно во время одной из открытых вакансий мне пишет крендель, мол, хочу стажером, научите. Даю какую-то задачку для скрининга изначального, дальше общение в духе “чото не ок, давайте улучшим” и вторая итерация заканчивается через несколько месяцев, задача для скрининга почти решена. Пишу что долговато решали, дальше смысла продолжать нет. Сегодня получаю письмо: Хорошо, Денис. Сроки имеют значение. Я не совсем понимаю наш формат: обучение или экзамен. Я представлял, что это будет обучение в виде выполнения задач. А как вы видите формат взаимодействия?
Denis
благодатная земля у нас на креатив
kosc
Чё за таска-то?
kosc
И что такое скрининг? Пардон за нубизм.
Denis
на 5 минут ерунда для начинающих
Denis
скрининг это отсев первоначальный при найме
Denis
когда левых совсем отсеиваем
Denis
можно ли теперь писать в резюме, что у меня есть длительный опыт преподавания хаскелл?!
Leonid 🦇
Не очень успешный опыт то
kosc
на 5 минут ерунда для начинающих
Покажи саму таску плз.
Denis
да
Denis
Покажи саму таску плз.
придешь на стажера собеседоваться, может покажу
Denis
Куда идти?
Работу ищете?
Denis
https://typeable.io
Denis
там ящик есть, можно писать туда
Maksim
Устал от гнёта джавово-скальной бигдаты, но хаскель знаю по полутора книжкам и одному проекту. Но, возможно, на стажера бы сгодился.