dshevchenko_biz

19 марта 2018, интернет

# Понедельник 63 твита

Всем доброго утра! В следующие семь дней с вами Денис @dshevchenko_biz Шевченко, программист, известный в узких кру… twitter.com/i/web/status/9…

8:31

Каковы планы на эту неделю? Посмотрим, как пойдёт, не люблю загадывать. Но упор планирую сделать на практику. Будет код, друзья, много кода!

8:31
@backendsecret Давай сразу про монады

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! twitter.com/hmemcpy/status…

8:54
@backendsecret @dshevchenko_biz опять фп и хаскель? был тут недавно уже такой. чем отличаться от него будете?

Многим буду отличаться. Виталий - преподаватель, и говорил о вещах, о которых я имею смутное представление. А главн… twitter.com/i/web/status/9…

9:04
@backendsecret Давай сразу про гендерный вопрос.

О нет, вот этого точно не будет. Дабы сразу обрадовать/разочаровать (нужно подчеркнуть), перечислю темы, о которых… twitter.com/i/web/status/9…

9:07
@backendsecret Без поллитра-то получится код на этом вашем Хаскеле понять?

А вот и узнаем! ;-) twitter.com/blazernere/sta…

9:08

Отвечая @aarexer, расскажу немного о себе.

В программирование я пришёл в 2005 году, и началом был ассемблер для ми… twitter.com/i/web/status/9…

9:56

И вот, с 2006 года я окунулся в С++. Изначально, правда, это была ещё нестандартизованная версия (основанная на Bor… twitter.com/i/web/status/9…

9:56

Были, правда, ещё и мысли о том, чтобы остаться в C и программировать Linux kernel. Но потом плюсы всё же одержали… twitter.com/i/web/status/9…

9:56

И вот однажды, на столе у своего тогдашнего техдира, я увидел книгу "Programming in Haskell". Спрашиваю, мол, что з… twitter.com/i/web/status/9…

9:56

Найдя упавшую на пол челюсть и приделав её обратно, я спросил, ээээ, а как это можно программировать без оператора… twitter.com/i/web/status/9…

9:56

А где-то год спустя увидел в интернете слово Haskell, и вспомнил, аааа, так это же тот самый, без присваивания. И в… twitter.com/i/web/status/9…

9:57

Начал искать материалы. А год это был 2012. И было это, скажу я вам, непросто. Нормальным, человеческим языком, вот… twitter.com/i/web/status/9…

9:57

Начал формулировать мысли в своём бложике. Затем была просьба, идея, и реализация идеи, идеи о книжке для самых-сам… twitter.com/i/web/status/9…

9:57

Так я полюбил ФП. Но с точки зрения карьеры я всё ещё был С++-программистом, однако к 2014 году я понял - всё, хочу… twitter.com/i/web/status/9…

9:57

Сейчас я работаю в #IOHK, это моё третье Haskell-место. Первые два, к сожалению, пришлось сменить по причинам, не связанным с Haskell.

9:57
@backendsecret Денис, а рассказ о том, что скала - это фальшивое ФП, будет? :)

Я толком не знаком со Scala, поэтому вряд ли. Но тот пример, с Either - да, его приведу. ;-) twitter.com/iShelop/status…

9:58

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

10:11
@backendsecret Расскажешь про рекурсию?

Почему бы и нет? Расскажу. twitter.com/bitomaxsp/stat…

10:14

Впрочем, в качестве первого объяснения, вероятно, подойдёт глава из моей книжки: ohaskell.guide/recursion.html

10:18
@backendsecret Нееее не могу это читать где AbstractRecursionSingletonProviderBean

Вот уж чего нету, того нету... Извиняйте... twitter.com/hmemcpy/status…

10:22
@develop7 @backendsecret А если серьезно? Что конкретно лучше писать на хаскеле?

Компиляторы/интерпретаторы, EDSL, бэкенд. twitter.com/artezzzgml/sta…

11:49
@backendsecret @dshevchenko_biz Если отталкиваться от проблем, то для решения каких задач, в каких областях ФП дейс… twitter.com/i/web/status/9…

Проблема в том, что мой ответ будет расценен как предвзятый. :-) И всё же я отвечу - да, однозначно стоит овчинка в… twitter.com/i/web/status/9…

11:52
@backendsecret Совершенно случайно прочел вашу книгу за вечер, и это прекрасная книга, заинтересовался Haskell.
Не… twitter.com/i/web/status/9…

Планирую, но не сейчас. На данный момент я сильно занят, как по основной работе, так и по важному личному проекту. twitter.com/gild0r/status/…

11:53
@backendsecret А какое IDE лучше всего подходит для разработке на Haskell?

Для Haskell нет полновесных IDE в том смысле, как есть для Java или C#. Однако, после доработки напильником, прекра… twitter.com/i/web/status/9…

11:55
@backendsecret Было бы круто увидеть примеры композиции монад: MTL, Free(r). Как я понимаю, эти знания - мастхэв дл… twitter.com/i/web/status/9…

О нет, мы будем смотреть на вещи, гораздо более простые. Free(r)? У нас в проекте нет Free(r), и однако же PoS-крип… twitter.com/i/web/status/9…

12:03
@backendsecret а плагин для Idea совсем плох?

Не знаю, не пробовал. Отзывы слышал, да, но они противоречивы: кто-то хвалит, кто-то ругает... twitter.com/goshan__4ik/st…

12:04
@shkuropadsky @backendsecret @dshevchenko_biz Существует так же опасность, что часть разработчиков будет сильно про… twitter.com/i/web/status/9…

О да! Многих программистов одна лишь аббревиатура "ФП" вводит в ярость и желание драться. Это при том, что большинс… twitter.com/i/web/status/9…

13:14
@backendsecret ленту не читал, но есть к тебе вопрос. Есть ли препятствия/проблемы распространения идей ФП? Почему? Как можно решить?

Да, препятствия есть. И в основном - психологического характера:

13:23
@backendsecret , слушал выпуск подлодки с вашим участием. про хаскелл и фп. Очень сильно захотелось попробовать. Но… twitter.com/i/web/status/9…

Да, есть такое: в России таких вакансий пока очень мало. Их количество растёт, да, но на фоне остального рынка труд… twitter.com/i/web/status/9…

13:36
@backendsecret Как насчёт Haskell vs Clojure, а то вот @_bravit обещался, будучи на месте @backendsecret, да так дело и не дошло

Нет. Сравнение языков - холиварная тема, ражигать очередной срач здесь я не хочу. twitter.com/gild0r/status/…

14:13
@backendsecret Просто очень интересно было бы послушать мнение того, кто в теме, может кто из читателей… twitter.com/i/web/status/9…

Я обеими руками за сильную статическую типизацию. Потому что она помогает мне, каждый день. Однако я не делаю из эт… twitter.com/i/web/status/9…

14:20

Итак, обещанный на сегодня пример. Пример, понятный нам всем - работа с конфигурационным файлом. Трудно вспомнить з… twitter.com/i/web/status/9…

16:04

Итак, что же такое конфигурация? Это стуктурированный набор данных, необходимых нашей программе для работы. Следова… twitter.com/i/web/status/9…

16:04

Да, с точки зрения компьютера конфигурация - это файл, то есть тупо строка. Но мы не хотим работать со строками, по… twitter.com/i/web/status/9…

16:04

Пример, который вы увидите, отражает декларативный подход к парсингу. Сначала мы определяем типы, отражающие конфиг… twitter.com/i/web/status/9…

16:04

Итак, вот пример: gist.github.com/denisshevchenk…. Код кажется большим, но это лишь потому, что там куча комментариев. Реко… twitter.com/i/web/status/9…

16:04

На неделе с Виталием меня обвиняли в том, что все приводимые мною примеры - это лишь примитивные однострочники. Поэ… twitter.com/i/web/status/9…

16:06

Кстати, используемый на строке 71 Either - это конструктор типа с возможной проблемой. Его реализация предельна про… twitter.com/i/web/status/9…

16:26

То есть когда мы конструируем Either-значение, оно всегда находится в одном из двух состояний:

16:26
На @backendsecret функциональные программисты дошли до парсинга конфига. Фибоначчи уже написали, а то лень искать?

Нет, обойдёмся без них. Конфиг - он как-то душевнее, ближе будет... twitter.com/mtreskin/statu…

16:39
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

Не всегда обречён. В большинстве случаев - да, но не всегда. Моя цель не в том, чтобы чем-то похвалиться через подо… twitter.com/i/web/status/9…

16:41
@backendsecret Чтоа такое алгебраический тип данных

Алгебраический тип данных (АТД) - это тип, состоящий из других типов. Посмотри на строчку 29 - это АТД. АТД бывает… twitter.com/i/web/status/9…

16:48

Ты спросишь, почему произведение? Здесь же вроде ничего ни на что не умножается. Ответ в математике, ведь речь идёт… twitter.com/i/web/status/9…

16:48

Вот почему, предоставив экземпляр класса FromJSON для типа ReceiverConfig, мы обязаны предоставить такие же экземпл… twitter.com/i/web/status/9…

16:48
@backendsecret Давайте что-нибудь более практичное, с сайд-эффектами. Я немножко хаскель-хейтер, так как считаю, чт… twitter.com/i/web/status/9…

Не всё сразу. :-) Дойдём и до трансформеров. twitter.com/borovikov/stat…

16:50

А упомянутый мною Either - это тип-сумма. Мы пишем data Either a b = Left a | Right b. То есть либо Left, либо Righ… twitter.com/i/web/status/9…

16:52

Однако, повторюсь: вся эта математическая терминология известна мне лишь потому, что я (с определённого момента) за… twitter.com/i/web/status/9…

17:06
@backendsecret Воспользуюсь моментом и кину ссылку на свой канал, где я IMO очень подробно и доступно это расписал… twitter.com/i/web/status/9…
17:42
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

> строчки из ямла достал и усе

Так нам же не строчки нужны. :-) Нам нужны URL, или порт, или список адресов, или е… twitter.com/i/web/status/9…

17:48
@qnikst @backendsecret Я это понимаю. Но не вижу в реальном хаскел-коде. И непонятно что там выделить можно, если в… twitter.com/i/web/status/9…

Отделение чистого кода от кода, взаимодействующего с внешним миром - это вопрос правильного проектирования. Конечно… twitter.com/i/web/status/9…

17:51
@backendsecret Мой поинт в том, что в real world приложениях чистой логики очень мало. И это уже вопрос не проектир… twitter.com/i/web/status/9…

Смотря о каких real world приложениях идёт речь. Да, есть много таких, где происходят преимущественно IO-действия.… twitter.com/i/web/status/9…

19:00
@troglotit @backendsecret MTL и правда must have. Туториалов по нему, хороших, однако, мало даже на английском :( О… twitter.com/i/web/status/9…
19:10
@backendsecret Избегай успеха любой ценой

Опять... Simon Peyton Jones, один из создателей Haskell, уже объяснял истинный смысл высказывания "Avoid success at… twitter.com/i/web/status/9…

20:51
@backendsecret @ChShersh @troglotit Давно хотел спросить. Не кажется ли недостатком то, что для такой простой задач… twitter.com/i/web/status/9…

Нет, это не кажется недостатком. Напротив, это кажется преимуществом, потому что именно это позволяет жёстко отделя… twitter.com/i/web/status/9…

20:56

А насчёт "довольно непростой абстракции"... Ну вот посмотри на меня: бывший плюсовик, математического образования н… twitter.com/i/web/status/9…

20:57
@backendsecret Я не говорил, что не могут, я говорил, что она непростая. Требует времени для привыкания, и людям мо… twitter.com/i/web/status/9…

> действительно ли такой контроль так нужен

Да, он нужен. Но не в том смысле, что без него нельзя, а в том смысле,… twitter.com/i/web/status/9…

21:29
@backendsecret А какая предистория для названий right,left? Ну right ещё можно понять, но почему left, а не error или wrong?

Не знаю. Очевидно, взяв Right, просто подобрали наиболее естественный антоним, то есть Left. ;-) twitter.com/iflask/status/…

21:34
@backendsecret А удобство изменения ФП-программы при неполных и постоянно меняющихся требованиях со стороны заказчи… twitter.com/i/web/status/9…

Декларативная модель очень помогает сопровождать проект. Известное зло при изменениях - в одном месте что-то поменя… twitter.com/i/web/status/9…

21:40

А когда глобального разделяемого состояния нет - тогда нет и проблем, им порождаемых.

21:41
@backendsecret расскажи где ты работаешь (сори если было) и как нашел (найти) работу на хаскеле. У меня стойкое ощу… twitter.com/i/web/status/9…

Работаю в #IOHK, участвую в создании PoS-криптовалютной системы (конкретно я сейчас в бэкенд-команде нашего кошельк… twitter.com/i/web/status/9…

22:19

Что же касается нужд бизнеса - есть отличное видео об этом: youtube.com/watch?v=ybSBCV…. Это видео от CEO для других CE… twitter.com/i/web/status/9…

22:19
@backendsecret Ищу ментора! пишу на Java, пробовал Kotlin, знания базовые + спринг(использовал для авторизации на с… twitter.com/i/web/status/9…
11:09

# Вторник 42 твита

@backendsecret Что по-поводу Scala скажешь? Она, субъективно, более популярна, чем Haskell. Порог вхождения ниже, и… twitter.com/i/web/status/9…

Да, она более популярна, и вакансий больше. Порог вхождения - да, ниже: меня уверяли, что любой Джавист способен пе… twitter.com/i/web/status/9…

8:02
@kana_its_me @backendsecret А можно для лучшего понимания ещё пример, когда Either используется не как пара ошибка\результат ?

Строго говоря, Either как раз и придумали для того, чтобы представлять пару "ошибка\результат". twitter.com/iflask/status/…

8:05
@backendsecret IDE нету, потому что нету денег в сообществе, или как у Scala по техническим причинам, как демаете?

Я думаю, главная причина в том, что в IDE нет такой уж гигантской потребности. Как минимум 95% всех хаскелистов, ко… twitter.com/i/web/status/9…

8:09
@backendsecret А как вы без IDE справляетесь со сложностью управления разработкой масштабных проектов? Да, парадигм… twitter.com/i/web/status/9…

Почему-то вспомнилось старое:

8:46

Часто слышу мнение, будто сильная статическая типизация ограничивает программиста, тем самым мешая ему. И да, друзь… twitter.com/i/web/status/9…

9:09

Но что такое ограничения? Ограничения - это фундамент гарантий. Любая гарантия обусловлена каким-то ограничением, и… twitter.com/i/web/status/9…

9:09

Гарантия же в свою очередь порождает уверенность. И сильная статическая типизация как раз и укрепляет нашу уверенно… twitter.com/i/web/status/9…

9:09

Обратите внимание: сильная типизация укрепляет нашу уверенность, но не делает её абсолютной. Поэтому в серьёзных Ha… twitter.com/i/web/status/9…

9:09
@cblp_su @theaspect @backendsecret IDE нужна чтоб быстро сходить в реализацию функции и вернуться. Поискать все исп… twitter.com/i/web/status/9…

> А главное, пожалуй, это «проект» - т.е. открыл проект, и вот тебе все его файлы в дереве и поиск по ним.

NeoVim… twitter.com/i/web/status/9…

9:26
@batyshkaLenin @backendsecret Все говорят - без IDE нельзя,
Все говорят - без IDE нельзя,
А я говорю, что буду
10:18

Дискуссия насчёт IDE для Haskell забавляет... Такое впечатление, будто бы мы должны ОПРАВДЫВАТЬСЯ за то, что у нас… twitter.com/i/web/status/9…

11:34

Да, можно просто сидеть и плакать, ах, если бы у нас была такая IDE, наша жизнь стала бы такой прекрасной, ой, как… twitter.com/i/web/status/9…

11:34
@backendsecret Думаю, пора переходить к той части, ради чего стоит страдать без IDE. Как сейчас модно говорить: "пр… twitter.com/i/web/status/9…

Вероятно, вас удивит мой ответ, но "продавать haskell" кому бы то ни было я не собираюсь. У меня нет такой цели, и,… twitter.com/i/web/status/9…

11:50
@backendsecret Никто не просит вас "впаривать", расскажите, в чём профит. Где оно даёт выигрыши и прочие интересные… twitter.com/i/web/status/9…

> расскажите, в чём профит

Первый профит - сильная статическая типизация с выведением типов. Но есть такие, которы… twitter.com/i/web/status/9…

12:01

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

13:29

Один из старых мифов касательно Haskell - отсутствие инструментария для проекта и чрезвычайно скудное число библиот… twitter.com/i/web/status/9…

13:29

Справедливости ради, в прошлом так оно и было. Голый компилятор, и пара десятков библиотек (со скудной документацие… twitter.com/i/web/status/9…

13:29

Сегодня у нас есть Stack, кроссплатформенный инструмент для работы с проектами. Он создаёт пустой проект по заготов… twitter.com/i/web/status/9…

13:29

Stack устанавливает нужное нам окружение (в виде компилятора и набора библиотек) таким образом, что на одном компе… twitter.com/i/web/status/9…

13:29

Вот сайт: haskellstack.org. Вот репозиторий: github.com/commercialhask…. Устанавливается Stack либо через скрип… twitter.com/i/web/status/9…

13:29

Stack - относительно молодой инструмент, релизнулся он летом 2015 года. Его активная разработка продолжается, основ… twitter.com/i/web/status/9…

13:29

И, строго говоря, Stack - не единственный подобный инструмент, однако именно он завоевал наибольшую популярность у Haskell-команд.

13:29

Подчеркну: Stack не идеален. Конечно, сегодня он лучше, чем был 2 года назад, однако иногда он тупит. Например, вын… twitter.com/i/web/status/9…

13:29
@backendsecret Раскажите пожалуйста про альтернативы Haskell Stack

Cabal. Его сайт: haskell.org/cabal/.

Собственно, с него всё и началось, этот инструмент значительно старше St… twitter.com/i/web/status/9…

13:47

Есть, правда, ещё один способ принести Haskell на свой компьютер. Называется Haskell Platform (… twitter.com/i/web/status/9…

13:50

Кстати, кто желает подробностей - вот моя заметка про Stack, на сайте нашего сообщества: ruhaskell.org/posts/utils/20…

13:53
@backendsecret почему не idris?

Потому что Idris и близко не готов к продакшену в той мере, в какой готов Haskell. twitter.com/H311oWorld/sta…

17:36
@backendsecret, а хаскелл только для бекенда хорош или есть ещё области применения?

Вот исследование, подробно отвечающее на этот вопрос: github.com/Gabriel439/pos…. Там области перечислены, и рассказан… twitter.com/i/web/status/9…

18:51

Ну и раз уж сегодня был упомянут Stack, то нельзя не упомянуть и Stackage. А для начала краткий экскурс в историю.

20:22

В 2008 году появился Hackage, репозиторий Haskell-пакетов. Название Hackage происходит от "Haskell" и "package". По… twitter.com/i/web/status/9…

20:22

И всё было бы хорошо, но существовала проблема с зависимостями. Суть её предельно проста: мой проект зависит от пак… twitter.com/i/web/status/9…

20:22

И вот создатели Stack предложили решение этой проблемы, так появился Stackage. Название происходит от "Stable Hacka… twitter.com/i/web/status/9…

20:22

Таким образом, если пакеты А, Б и В включены в стабильный список, то упомянутой ранее проблемы с зависимостями не б… twitter.com/i/web/status/9…

20:22

Каждый стабильный список пакетов, называемый LTS Haskell, имеет свою версию. Аббревиатура LTS происходит от Long Te… twitter.com/i/web/status/9…

20:22

Примерно раз в неделю выходит новый список. Вот пример такого списка, версии 10.9: stackage.org/lts-10.9. Список… twitter.com/i/web/status/9…

20:22

Затем в конфигурационном файле проекта указывается версия используемого LTS Haskell. И, как вы уже поняли, стабильн… twitter.com/i/web/status/9…

20:22

Такой подход сильно помогает в командной разработке. Пока у всех членов команды один и тот же LTS Haskell, их проек… twitter.com/i/web/status/9…

20:22

А когда в команду приходит новый человек, он клонирует репозиторий проекта, а затем выполняет лишь две команды:

1.… twitter.com/i/web/status/9…

20:22

Разумеется, я могу установить и такой пакет, который не входит в конкретный LTS. Однако в этом случае гарантий совм… twitter.com/i/web/status/9…

20:22

Кстати, вот он, полный список пакетов в Hackage: hackage.haskell.org/packages/

20:27
@backendsecret в тему этой недели, закончил цикл статей про связь формальной логики и ЯП. Написано очень по-дилетан… twitter.com/i/web/status/9…
23:14
@cblp_su @backendsecret Прилетело очень в тему: twitter.com/Harenome/statu…
23:15

# Среда 42 твита

@backendsecret Кагбэ да, однако так ли легко бизнесовые требования замоделировать без глобального разделяемого сост… twitter.com/i/web/status/9…

> так ли легко бизнесовые требования замоделировать без глобального разделяемого состояния?

А я и не говорил, что… twitter.com/i/web/status/9…

10:13
@backendsecret И получается дешевле (по деньгам и срокам) сделать спагетти с глобальным стейтом, чем раскладывать в… twitter.com/i/web/status/9…

Опять же, всё зависит от проекта.

Если это проект, который изначально задуман как времянка, и его нужно сделать ка… twitter.com/i/web/status/9…

10:52
@backendsecret Беда в том, что 4 стейкхолдера собравшись на митинг всё равно опишут только 20-50%% очевидных кейсов… twitter.com/i/web/status/9…

> И пойдешь все свои строгие типы на корню переделывать после первого столкновения с реальностью.

Вполне возможно.… twitter.com/i/web/status/9…

10:58
Топишь за язык, будь добр оправдывайся и за IDE. Или зачем вы тут вообще? twitter.com/backendsecret/…

> Или зачем вы тут вообще?

Рассказывать об использовании языка. А не оправдываться за то, что для него нет каких-т… twitter.com/i/web/status/9…

11:32
@backendsecret Поставим вопрос по другому :)
Есть ли ограничения или сложности в практическом (как оперативном, так… twitter.com/i/web/status/9…

> Есть ли ограничения или сложности в практическом ... использовании ФП с различными методологиями: MSF, RUP, гибки… twitter.com/i/web/status/9…

12:06
@backendsecret раз уж об отличиях - известна в мире хоть одна хаскеллист-женщина? (никакого сексизма! чистый интерес)))

Да. И не одна. Например, вот доклад "Haskell is Not For Production and Other Tales" (youtube.com/watch?v=mlTO51…). Он о… twitter.com/i/web/status/9…

12:13
@backendsecret Недавно вышла хорошая книжка pragprog.com/book/swdddf/do…. Читается на одном дыхании, как по теме моделир… twitter.com/i/web/status/9…
13:38

А вот, кстати, ещё одна прекрасная представительница хаскелистов: youtube.com/watch?v=B19WKs…. Рассказывает о реалиях п… twitter.com/i/web/status/9…

14:11
@backendsecret отлично. Кстати, смотрели в сторону ЯП Swift? Видно, что его делали с оглядкой на ФП. Есть и высшие… twitter.com/i/web/status/9…

Да, Swift впитал в себя дух ФП, это видно даже в синтаксисе. Но сам я не работал с этим языком, поэтому прокомменти… twitter.com/i/web/status/9…

14:16
@backendsecret боюсь пробовать хаскелл именно потому что в докладах всё ахриненно круто, а в жизни столкнусь с труд… twitter.com/i/web/status/9…

> в жизни столкнусь с трудностями

Конечно столкнёшься! Да, ФП помогает избежать многих проблем, но не всех. И на H… twitter.com/i/web/status/9…

14:45

Но по своему опыту могу сказать: столкновение с трудностями помогло мне снять розовые очки, но ничуть не оттолкнуло меня от ФП-парадигмы.

14:50
@backendsecret Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.
Н… twitter.com/i/web/status/9…

> Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.

Монады - это… twitter.com/i/web/status/9…

15:00

"Всякий раз, когда кто-то называет функциональный объект функтором, где-то в мире умирает математик..." (C)

К чему… twitter.com/i/web/status/9…

15:43
@backendsecret Да функтор это жеж прост класс в си-крестах с перегруженными круглыми скобками.
Ну или лямбда там.… twitter.com/i/web/status/9…

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! Зачем, зачем ты сделал это?! Ведь только что ещё один представитель математического сообществ… twitter.com/i/web/status/9…

16:13
@backendsecret Ну если я аппликацию на хомяках и орешках под бутылочку стаута смог объяснить, то и монады с каким-нибудь зельем смогу
17:01
@backendsecret Я правилно понял, что монада, это интерфейс, с правилами реализации, для которого есть синтаксический сахар в haskel?

Не спрашивайте, пожалуйста. Объяснение будет позже. Если я решусь на это. И не могу обещать, что решусь-таки... :-) twitter.com/zysyg/status/9…

17:02
@skv_nskv @backendsecret Вот тут то типы и нужны, можно понять, что чепуха получается, пока ещё тонны кода не написаны.

Золотые слова! twitter.com/qnikst/status/…

18:51
@backendsecret Наша дружная команда очень нуждается в PHP разработчике (уровень middle)
по уровню , по ключевым на… twitter.com/i/web/status/9…

Спрашивать о PHP-разработчике на Haskell-неделе... Это похоже на подкол. :-) twitter.com/abystrova1/sta…

18:52
Друзья! В один инновационный проект, а именно "Лига ЖКХ" требуются программисты. PHP, PostgreSQL и вот это вот все.… twitter.com/i/web/status/9…
20:36
@backendsecret Денис, а что скажете про TDD и Haskell есть ли профит от такого союза?

TDD - это ведь Type Driven Development, верно? От такого союза самый что ни на есть профит! :-)

Если же под TDD по… twitter.com/i/web/status/9…

22:02
@backendsecret @ditansu На самом деле паттерны программирования в Haskell есть. Но это скорей здравый смысл и часто… twitter.com/i/web/status/9…
23:27

Ну что, отдохнули от монад?

15:06
Как я пытаюсь изучать хаскель coub.com/view/13ka5l
15:27

Ну раз отдохнули...

15:31

is.gd/4qRRRy Функциональное программирование - Ярон Мински, Анил Мадхавапедди и Джейсон Хикки - Программ… twitter.com/i/web/status/9…

15:31

Функциональное программирование - Ричард Уорбэртон - Java 8 Lambdas: Functional Programming for the Masses / Лямбда… twitter.com/i/web/status/9…

15:32

[Computer Science Center] Функциональное программирование на языке Haskel [2015, RUS] is.gd/W9CVQb видео

15:37

Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2013 год [2014, PDF/DjVu, RUS] is.gd/4ysopT

15:37

Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2012 год [2013, PDF/DjVu, RUS] is.gd/QVDOYy

15:37

Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2011 год [2012, PDF/DjVu, RUS] is.gd/eo92jJ

15:37
ищу разработчика Python в #Таганрог (#Краснодар или #Ростов или ещё где тоже устроит) как-раз за такие деньги. Ау?!! twitter.com/belliht/status…
15:42

Городняя Л. В. - Основы функционального программирования [2004, PDF, RUS] is.gd/u4HLgN

15:44

Мартин Одерски - Принципы функционального программирования на языке Scala / Functional Programming Principles in Sc… twitter.com/i/web/status/9…

15:50

Функциональное программирование - Бёрд Р. - Жемчужины проектирования алгоритмов. Функциональный подход [2013, PDF,… twitter.com/i/web/status/9…

15:50

[TechDays] Практическое функциональное программирование на F# от облачного- и веб-программирования до телефона и иг… twitter.com/i/web/status/9…

15:50

[CompSciCenter.ru / lektorium.tv] Функциональное программирование (Haskell) [2012, RUS] is.gd/EZOtha видео

16:21

Сошников Д. - Функциональное программирование на F# [2011, PDF, RUS] is.gd/GIsjyx

16:21

Больше не буду. Профессор по ФП возмущается пиратским книжкам.

16:21

А может у вас есть вакансии? Давайте, поретвичу!

16:45
@backendsecret если можно, спасибо twitter.com/GosuAi/status/…
17:07
@backendsecret Мы вот в Гамбург сисадмина ищем innogames.com/ru/innogames-r…

Помогают с переездом, команда дружная, работы море.

17:07

# Четверг 50 твитов

@backendsecret Монада это способ работы с данными внутри вычисляемого контекста, таким образом, чтобы можно было из… twitter.com/i/web/status/9…

Хорошее объяснение. Однако понять его с функтором и аппликативом будет проще, ведь это последовательные шаги: аппли… twitter.com/i/web/status/9…

10:21
@is_a_cdr @backendsecret @ditansu Исключения в Хаскеле есть (причем это чуть ли не единственный язык, где можно уби… twitter.com/i/web/status/9…
10:23
@rybak_andrey @is_a_cdr @backendsecret @ditansu Т.е. ghc, действительно, хитрый и хорошо оптимизирует? Вложенные тр… twitter.com/i/web/status/9…

Да, GHC очень хорошо оптимизирует. twitter.com/Kevroletin/sta…

14:44
@borovikov @backendsecret github.com/qnikst/irc-sim… вот что-то такое за вечер получилось. Сам чятик в src/Server.hs… twitter.com/i/web/status/9…
17:16
@dcromster @PIlIGRIM @backendsecret @bobuk да, Бобука вести это хорошая мысль. Хоть передохнём от Хаскеля.

Потерпи меня ещё 3 денька... twitter.com/jbaruch/status…

18:40
завтра буду топить коллегам за функциональное программирование и чем больше пытаюсь подготовиться, тем меньше поним… twitter.com/i/web/status/9…

Суть ФП не в монадах же, и даже не в функторах. :-)

Скажи, что суть программирования в принципе - это абстракция и… twitter.com/i/web/status/9…

19:48
@backendsecret Когда понял монады и используешь их pic.twitter.com/y314nfQXRC
19:49
@backendsecret ...И ФП прекрасно подходит как для первого, так и для второго

А есть где-то методические рекомендац… twitter.com/i/web/status/9…

Есть. Называется опыт. Взять, попробовать, и убедиться. :-)

Я перешёл в ФП не потому, что мне кто-то показал супер… twitter.com/i/web/status/9…

20:32
@qnikst @backendsecret Хаскелисты Всея Руси и Дальнего Востока!

Какими пользуетесь/собираетесь пользоваться ORM, Ф… twitter.com/i/web/status/9…

Для начала:

20:43

miso, правда, исключение, но я скопировал за компанию. :-)

20:44
@backendsecret У нас тоже есть вакансии) xapix.io, Берлин, поможем с переездом и с blue card. Clojur… twitter.com/i/web/status/9…
11:56
@backendsecret У меня целый канал в тг с айтишников (в основном) вакансиями заграницей :) t.me/jobs_abroad
11:56
@backendsecret В Питер и не только нужны backend/frontend разработчики, подробности vk.com/sidenisru?w=wa…
11:56
@amureki @backendsecret есть скала, флинк, кафка, го, руби, эликсир, много си, даже ангуляр, а питона нет)
11:57
@backendsecret А куда податься человеку без опыта с базовыми знаниями Java, C/C++ и большим желанием учиться?
11:57
@backendsecret И меня! И меня! Харьков\Киев pic.twitter.com/54GmRmxtUn
11:57
@backendsecret Ищем в Backend команду Wheely разработчиков (wheely.workable.com/jobs/670161) и системного инженера (… twitter.com/i/web/status/9…
11:57
@backendsecret Ищем java разработчиков senior+ Alibaba group: Aliexpress, Tmall. В Москву или Ханчжоу
11:57
@backendsecret А мы ищем java разработчика в отличную команду в Питер spb.hh.ru/vacancy/251252…
11:57
@backendsecret Мы ищем рубистов в adjust. С релокейтом в Берлин помогаем. Куча работы, есть интересные проекты, eli… twitter.com/i/web/status/9…
11:57
@backendsecret Мы финтех-стартап (уже большой)
Ищем java/scala в бэкенд, kotlin в android, swift в iOS
Сейчас уже е… twitter.com/i/web/status/9…
11:58
@backendsecret Может кто из Нижнего Новгорода m.hh.ru/vacancies?empl… а ещё web dev'ы нужны от 2 тысяч.
11:58
@backendsecret Senior Java developer в fintech, Москва hh.ru/vacancy/243524…
11:58
@backendsecret Уже 5 лет работаю в замечательной @funbox_team и нам нужны хорошие коллеги:

Erlang:… twitter.com/i/web/status/9…

11:58
@backendsecret Ищем back-end/front-end людей в Bielefeld: PHP7, Angular1, Yii1/2. Небольшая контора в 20 человек и… twitter.com/i/web/status/9…
11:58
@backendsecret Ищем iOS и Android разработчиков в Мюнхен. Помогаем с визой.
linkedin.com/jobs/view/5908…twitter.com/i/web/status/9…
11:59

Наверняка у всех есть лишнии вычислительные мощности. Предлагаю их утилизировать на благо светлого будущего. А майн… twitter.com/i/web/status/9…

12:18

Естественно это не просто так. Есть шанс получить 1000 usd или 10000 usd учавствуя в проекте… twitter.com/i/web/status/9…

12:18

Конечно таких проектов много. Например, один из самых старых и известных, Seti@home. Помню как учавствовал в нём на… twitter.com/i/web/status/9…

12:25

Есть подобный по расчёту белка и другие. Все они работают на основе BIONIC boinc.berkeley.edu/projects.php

12:25
@backendsecret Таллин, энергичный быстрорастущий стартап, на 25%+ русскоязычная Европа со всеми её плюшками - от "с… twitter.com/i/web/status/9…
12:32
@backendsecret @verwolfdotss Перепись IT-поросяток

Хм, кажется это оскорбление. twitter.com/sorx00/status/…

12:33
@VsSekorin @backendsecret Пока открытых проектов нет, но в планах кое что имеется) Если есть хорошее понимание фп,… twitter.com/i/web/status/9…
12:36
@backendsecret Senior front-end Ростов-на-Дону(100К+) -JavaScript, HTML, CSS, Node.js, Webpack и соврменные JS фрей… twitter.com/i/web/status/9…
12:44

Кстати ещё: кто смелый и хочет провести неделю этого акаунта?
Очень хотелось бы из геймдева, сжатия данных, ML/AI,… twitter.com/i/web/status/9…

12:48

Что имел ввиду про парикмахера: youtube.com/watch?v=xiwD6B…
Это моя любимая песня, когда ищу работу. :D

12:48
@backendsecret Ищу Java и JS девелоперов в почту Эстонии! Это та, у которой роботы по городу почту развозят.
Нужен… twitter.com/i/web/status/9…
12:48
@backendsecret нужен спец в питоне для поддержки и доработок odoo (open erp ранее), географически - Сколково или на… twitter.com/i/web/status/9…
13:30
@batyshkaLenin @dcromster Лишь монад требуют наши сердца
Лишь монад требуют наши глаза,
В нашем смехе и в наших сле… twitter.com/i/web/status/9…
17:16
@backendsecret ищем backend-разработчиков в retailcrm.ru (крупная CRM для ecommerce). Мск/Воронеж/Липецк… twitter.com/i/web/status/9…
17:16
@backendsecret Ищем в офис angular и python разработчиков. Казань 💚 Добра всем ретвитнувшим #твиттерпомоги
17:17
@backendsecret На всякий случай напомню, что если прислать объявления о работе (даже дворником) с релокацией мне, т… twitter.com/i/web/status/9…
17:17
Ну и у нас набирают (CC: @backendsecret):

tweag.io/posts/2018-03-…

17:17
@backendsecret Самара, ищем backend (в основном java), frontend и implementation engineer.
чем мы занимаемся, напис… twitter.com/i/web/status/9…
18:10

Кого хотите позвать повторно из ведущих @backendsecret ?

18:51

Всё всё всё! Про Егора я понял!
Может ещё кого? ;)

19:01
А теперь вопрос, что лучше твиттер лекции @5HT или @backendsecret ? :-)

А у нас без матов!* twitter.com/5HT/status/979…

20:04
@suxxes @backendsecret @abroadunderhood Привет! Зарепость, пожалуйста: twitter.com/oruen/status/9…
23:11

# Пятница 39 твитов

@qnikst @backendsecret Воооот! 😀
Можете, когда хотите )

Давай дальше: как собираете и деплоите веб-проект?
Похапеш… twitter.com/i/web/status/9…

> Давай дальше: как собираете и деплоите веб-проект?
Похапешники выкладывают горой файлы, жависты собирают war/ear.… twitter.com/i/web/status/9…

9:16

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

10:12

"Что такое монады: заблуждение из мира Haskell": ruhaskell.org/posts/theory/2….

Это к вопросу о монадах...

11:05
@zhulikgleb @backendsecret В Haskell можно сделать тоже самое. (Только статическое ядро надо, в erlang VM играет ег… twitter.com/i/web/status/9…
11:59
@backendsecret @AstarothAst Если что, то nix-ом можно собирать docker контейнеры, нету лишнего мусора в истории док… twitter.com/i/web/status/9…
12:02

Обращаюсь к присутствующим здесь любителям обобщения...

Друзья, если я не могу ответить на ваши вопросы (так, как… twitter.com/i/web/status/9…

12:08

Нужно было сказать это сразу, но скажу сейчас. Я не эксперт. Ни в Хаскеле, ни в бэкенде. Здесь, как вы успели замет… twitter.com/i/web/status/9…

12:08
@russianlagman @backendsecret А почему он должен отличаться? Мы ж не инопланетяне какие, чтобы все по своему делать.

Золотые слова! Нет, бриллиантовые!! twitter.com/qnikst/status/…

12:09

Пятничное. Весёлая песня про языки и вот этот вот всё: youtu.be/cdX8r3ZSzN4

14:30
@kreshikhin @backendsecret @ChShersh @cblp_su похоже тут коней и людей в миксер засунули и пушками приправили...

З… twitter.com/i/web/status/9…

14:46
@qnikst @backendsecret @ChShersh @cblp_su Ок, понял ребята.

У вас тут секта походу, не буду в вашу гей-компанию со… twitter.com/i/web/status/9…

Да, так проще всего выйти "победителем" из дискуссии. twitter.com/kreshikhin/sta…

14:50
@kreshikhin @backendsecret @ChShersh @cblp_su ФП это про способ конструирования программ, вот не уверен, что я смог… twitter.com/i/web/status/9…
15:16
@jbaruch @dcromster @PIlIGRIM @backendsecret @bobuk А что, именно от Haskell нужна передышка, а от Java/C++/PHP/Nod… twitter.com/i/web/status/9…
17:51
@Yurrist @backendsecret В виде методических рекомендаций то есть.
Это когда рекомендуют некоторые методы для решен… twitter.com/i/web/status/9…

1. fpcomplete.com/blog/2016/11/e… - рекомендации по исключениям.

19:27
@skv_nskv @backendsecret Много кто сделал много чего. Мой личный вклад тоже доступен онлайн:
reddit.com/r/haskell/comm…
19:45

Вот простейшее решение на Haskell.

Одна идея - один тип. 2 версии + 2 представления = 4 способа создать IP-адрес.… twitter.com/i/web/status/9…

21:49

Использовать это будем так:

main = print $ IPv4Bytes 127 0 0 1

или так:

main = print $ IPv6String "::1"

Нам не… twitter.com/i/web/status/9…

21:49

Благодаря `deriving Show` мы сразу получаем возможность отображать IP-адрес в виде стандартной строки (например, при печати адреса в лог).

21:49

А благодаря `deriving Eq` и `deriving Ord` мы можем сравнивать адреса друг с другом, а также использовать их, напри… twitter.com/i/web/status/9…

21:49

Разумеется, друзья, этот пример сугубо искусственный. В реальном проекте мы с вами конечно возьмём какую-то готовую… twitter.com/i/web/status/9…

21:49
@backendsecret Что за дичь я прочел? Какая разница что тащить с билд-сервера на прод? Jar или exe. Уже второй месяц… twitter.com/i/web/status/9…

Разница хотя бы в том, что на прод-серваке в этом случае не нужно иметь ни компилятор, ни интерпретатор, ни Хаскель… twitter.com/i/web/status/9…

21:56

Ну что ж, друзья, по моим часам (в Армении GMT+4) уже за полночь, а это значит, что рабочая неделя закончилась. А п… twitter.com/i/web/status/9…

23:16

История про то, как видеотрансляция приземления Чарльза Симони, автора венгерской нотации, ставшего пятым космическ… twitter.com/i/web/status/9…

23:16
Ну и кстати, мы ищем разрабов ams-ix.net/about/careers-…
11:48
@backendsecret а ретвитни про поиск .net в Питере. spb.hh.ru/vacancy/241659… Свой реально используемый продукт, прост… twitter.com/i/web/status/9…
12:27
@vkozulya @backendsecret Быть токсичным мудаком неотъеблимое право любого разработчика. Главное им не злоупотреблять.
13:04
Вопрос к @dcromster, @vvn33 и всем читателям @backendsecret. Какие коллективные твиттер аккаунты на английском вы знаете? Они существуют?
14:30
@alan_ko @dcromster @vvn33 @backendsecret и вообще по хэштегу #rocur
14:41
А теперь вопрос, что лучше твиттер лекции @5HT или @backendsecret ? :-)

Ну как же так? twitter.com/5HT/status/979…

16:34

Продолжая тему расшаривания ресурсов:
Может знаете такой сервис чтобы расшаривать файловое место за денюжку?

16:43
@backendsecret @alan_ko @dcromster @vvn33 Вполне существуют. Примеры не IT, но вполне действующие: @SmallholderIRL и @SmallholdersUK :)
17:12

А есть кто на Rust пишет?

18:24

# Суббота 70 твитов

Итак, история. В 2007 году в космос собрался очередной миллионер, Чарльз Симони. И его приземление (на полигоне в К… twitter.com/i/web/status/9…

0:21

С технической точки зрения задумка была в следующем. Специализированный джип, со спутниковой антенной на крыше, дол… twitter.com/i/web/status/9…

0:21

А после этого они должны были сделать следующее: используя спутниковую антенну, навести её на нужный геостационарны… twitter.com/i/web/status/9…

0:21

Сказано - сделано. В качестве упомянутого джипа выбрали гражданский Hummer. Заключили договор с компанией, занимавш… twitter.com/i/web/status/9…

0:21

Станция связи, которую планировали поставить на крышу джипа, представляла собой автоматическую тарелку диаметром 1.… twitter.com/i/web/status/9…

0:21

Далее в блок вводятся координаты и идентификатор нужного спутника (или, как это ещё называется, борта). Спутник гео… twitter.com/i/web/status/9…

0:21

Далее нажимается одна кнопка - и антенна автоматически открывается, поворачивается в правильном направлении, точно… twitter.com/i/web/status/9…

0:21

А из-за того, что в контроллере был электронный компас, азимутальный угол поворота антенны не зависел от положения… twitter.com/i/web/status/9…

0:21

Иными словами, персоналу джипа там, на полигоне, нужно было просто включить питание антенны, нажать на кнопку Пуск,… twitter.com/i/web/status/9…

0:21

В день Икс машина отправилась в путь. Найдя капсулу и убедившись, что с космонавтами всё хорошо, мужики включили пи… twitter.com/i/web/status/9…

0:21

Останавливается там, пытается найти нужный спутник, разумеется, не находит его (потому что каждый геостационарный б… twitter.com/i/web/status/9…

0:21

Понимаете, да? То есть антенне нужно было повернуться, условно, на 86 градусов влево, а она ушла на 86 градусов впр… twitter.com/i/web/status/9…

0:21

Мужики в панике. Там же в ЦУП ждут, делегация, пресса. Они нажимают кнопку Сложить, антенна послушно сложилась. Пер… twitter.com/i/web/status/9…

0:21

В общем, не пашет. К счастью, мужики примерно знали ту точку небосвода, где расположен нужный спутник. Развернули д… twitter.com/i/web/status/9…

0:21

В итоге, используя глаза, компас, координаты и, по всей видимости, весь набор русских матерных слов, мужики, после… twitter.com/i/web/status/9…

0:21

Потом, конечно, начали ругаться и разбираться. Возмущение можно было понять: представители компании-разработчика кл… twitter.com/i/web/status/9…

0:21

Начали копать глубже. И выяснили, что причиной сбоя стала ошибка в программе внутри контроллера. Одна-единственная… twitter.com/i/web/status/9…

0:21

Да, друзья, из-за моей глупой ошибки понервничали и те мужики на полигоне, и другие мужики в ЦУПе. А ошибка была де… twitter.com/i/web/status/9…

0:21

Но ведь у нас-то всё действительно работало! Почему же там не заработало? А всё просто. Тогда, в 2007 году, я ещё н… twitter.com/i/web/status/9…

0:21

И потому версии прошивки контроллера хранились у меня на рабочем столе, в отдельных папках. В папках, Карл! И назыв… twitter.com/i/web/status/9…

0:21

Как меня тогда не уволили - не знаю. Но не уволили, простили. Поэтому, друзья, системы контроля версий - это хорошо.

0:21

Так, коллеги, а время-то у нас уже пол-третьего! Пойду-ка я отдыхать, а то детки завтра рано прибегут, родителей будить... :-) До завтра.

1:27

Друзья! Выходные у меня обычно уделяются семье, а потому за компьютером бываю редко. Поэтому прошу считать мою неде… twitter.com/i/web/status/9…

8:17

Прошу прощения, если мой тон был резким, или выводы слишком скоропалительными, или ответы слишком слабыми.

8:17

И выражаю громадную благодарностью @qnikst, @ChShersh и @cblp_su за помощь в дискуссиях. Я знаю, что любой из вас п… twitter.com/i/web/status/9…

8:17

Впрочем, ещё что-нибудь напишу, но уже так, урывками.

8:19

Немного ссылок.

8:26

1. conf.researchr.org/home/icfp-2018 - ICFP сего года (крупнейшая ФП-конфа в мире).

8:35

1. @haskellbook - Haskell programming from first principles.

8:41

1. github.com/denisshevchenk… - компании, использующие ФП, малый список.

8:44

1. functional.works-hub.com - место, где искать ФП-вакансии.

8:49

Минутка спорта, друзья: youtube.com/watch?v=p5obID…

9:48
@qnikst @dcromster @backendsecret @ChShersh @cblp_su Надоели хаскелисты, хочется про докер и рельсы почитать наконец!
12:29
@backendsecret а когда новый выпуск бананов и линз будет?

Подкаст давно умер. Мы поняли, что подкастом должен кто-то заниматься, плотно и постоянно. Никто из нас не был гото… twitter.com/i/web/status/9…

12:53

А вы заниметесь менторством? Если да, то расскажите каким.

11:00
@backendsecret Однажды во мне в лс постучался джун с просьбой поменторить. Вроде, нормально пообщались пару часов,… twitter.com/i/web/status/9…
11:18
@backendsecret Другу подкидываю всякие материалы по программированию. Помогаю, чем могу.
11:18
@backendsecret Хороший опыт, впрочем, тоже есть. Обучаю периодически людей с непрофильным образованием алгоритмам и структурам данных.
11:18
@backendsecret Есть знакомые, которые работают в одиночку в фирмах и кроме, как у меня не у кого спросить экспертизу.
11:19
@backendsecret Я думаю все же надо помогать всем, кто плохо разбирается в теме, так как однажды ты сам напоришся на… twitter.com/i/web/status/9…

👍🏻 twitter.com/glitterOfHyad/…

11:26
@backendsecret А в этом твите можно ментора найти?
11:35
@backendsecret Руковожу дипломниками.
11:35
@backendsecret Преподаю и стараюсь писать статьи в гитхаб, надеюсь соберу в бесплатный курс хороший
11:39
@backendsecret Интересуют технологии бекенда. Не хочу становиться формошлёпом. Учусь типо на программиста. Нужен че… twitter.com/i/web/status/9…

Поможем Александру? twitter.com/elephmoon/stat…

11:48
@elephmoon @backendsecret А можно и мне тогда?
Точнее я хотел бы чтобы кто-то смог оценить уровень моих знаний, ука… twitter.com/i/web/status/9…
11:56
@elephmoon @backendsecret +1, тоже интиресно было бы ментора найти, работаю в основном с PHP / Laravel есть небольш… twitter.com/i/web/status/9…
12:38
@backendsecret Python , algorithms, mmds
12:55
@backendsecret @elephmoon Это будет очно в Харькове в офисе компании.
Пока точных дат старта нет, но старт +- через… twitter.com/i/web/status/9…
13:02
@backendsecret @elephmoon Вот детали курса:
Go с нуля, много практики, с углублением в конкурентность, возможно, ко… twitter.com/i/web/status/9…
13:22
@backendsecret Помогаю менее опытным прокачивать навыки разработки отказоустойчивых решений, тех. дизайна решений,… twitter.com/i/web/status/9…
15:04
@backendsecret Преподаю веб-разработку компьютерным лингвистам в ВШЭ несколько лет, планирую создать онлайн-курс на… twitter.com/i/web/status/9…
15:04
@backendsecret А зачем менторить вообще надо?
Лучший ментор - книги и гугл, всё нужное есть в открытом доступе.
15:04
@backendsecret @blazernere Именно так, или наземными ж.д. Раздвинуть шоры, я вижу как джуны часто пытаются решать п… twitter.com/i/web/status/9…
15:31
@blazernere @backendsecret Слишком много ненужного вокруг. В этом и смысл, чтобы отсеять нужное от ненужного. Зачем… twitter.com/i/web/status/9…
15:31
@backendsecret Да, помогал знакомым и знакомым знакомых.

В целом - интересный опыт.

15:35
@backendsecret Маленькой компании трудно соревноваться на рынке труда с крупными игроками. Поэтому беру новичков с… twitter.com/i/web/status/9…
16:59
@backendsecret Python, C#/.NET Core, Erlang, Typescript, OCaml
20:27
@backendsecret Ищу ментора, интересует python, Django, database, бэкэнд, Java.
20:27
@backendsecret как хобби:
20:27
@elephmoon @backendsecret могу подсобить с самоопределением. как раз свободный вечер выдался, если интересно, то жд… twitter.com/i/web/status/9…
20:28
@backendsecret Когда учился в универе бесплатно преподавал первокурсникам C++, помню долго делал слайды в поверпоинте, жаль не сохранились
20:34
@elephmoon @backendsecret раз уж такая песня пошла, то мой мейн - это JavaScript(TS, CS, YoptaScript:D), тут любые… twitter.com/i/web/status/9…
20:40
@elephmoon @backendsecret но действительно буду рад пообщаться по фронту
тут мои Angular(4/5), Backbone.js, Vue.js,… twitter.com/i/web/status/9…
20:44
@blazernere @badzelenkoff @backendsecret Менторство для дятлов, если человек не может сам разобраться, то есть комм… twitter.com/i/web/status/9…
21:09
@elephmoon @backendsecret ну и кому интересен фронтенд в финансовой сфере(обменники, банки, площадки) или кто уже р… twitter.com/i/web/status/9…
21:10
@backendsecret Ищу ментора, который объяснит как правильно проходить собеседования.

Ох, тут скорее психолог нужен, чтобы потом психотерапевт не понадобился. twitter.com/chikiro_twi/st…

21:39
@flud3r @backendsecret @blazernere @badzelenkoff Видел таких менторов, которым не то что менторить, их к комплюхтор… twitter.com/i/web/status/9…
21:54
@backendsecret менторство это полезно, но только когда человек понимает что хочет и готов к этому стремиться... в и… twitter.com/i/web/status/9…
21:55
@backendsecret Вдруг и я найду себе старшего товарища, nodejs, vuejs. В идеале поделал бы таски для практики. Под присмотром, разумеется)
22:08
@chikiro_twi @backendsecret вроде вполне есть книжки типа programming interviews exposed где в начале именно про пр… twitter.com/i/web/status/9…
22:08

# Воскресенье 25 твитов

Напоследок, друзья, поделюсь ссылками на некоторые Haskell-библиотеки, которые, на мой взгляд, достойны внимания бэ… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/time - работа со временем
hackage.haskell.org/package/stm - работа с Software Transactional Memory… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/servan… - работа с API на уровне типов, серверная часть
hackage.haskell.org/package/servan… - работа с API на у… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/http-c… - низкоуровневый интерфейс для HTTP-клиентов
hackage.haskell.org/package/amazon… - работа с AWS (семейс… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/cborg - работа с CBOR (Concise Binary Object Representation)
hackage.haskell.org/package/cereal - бинарная с… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/QuickC… - автоматическое тестирование (с помощью arbitrary-значений)
hackage.haskell.org/package/HUnit - юнит… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/random - работа с простыми случайными значениями
hackage.haskell.org/package/random… - работа со случайными зн… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/direct… - кроссплатформенная работа с файловой системой
hackage.haskell.org/package/filepa… - кроссплатформенна… twitter.com/i/web/status/9…

16:46

hackage.haskell.org/package/acid-s… - ACID-гарантии (Atomicity, Consistency, Isolation, Durability) для сериализуемых структур… twitter.com/i/web/status/9…

16:46

Друзья! Время моего дежурства в @backendsecret подходит к концу. Ещё раз благодарю всех за внимание, за участие, за… twitter.com/i/web/status/9…

21:33

Кому интересно - напоминаю мой аккаунт: @dshevchenko_biz. Если вдруг я не успел ответить на какие-то ваши вопросы -… twitter.com/i/web/status/9…

21:33

Кстати, вот наши русскоязычные чаты по Хаскелю:

21:33
@alezyyy @backendsecret буду рад помочь/направить/рассказать чего интересного
12:15
@chikiro_twi @backendsecret Учитывая количество "технологий" помноженное на разные взгляды интервьюеров, современно… twitter.com/i/web/status/9…

true twitter.com/vgermaniu/stat…

12:15
@backendsecret на Coursera назначили ментором на курс алгоритмов Стэнфорда. Но мне все время некогда
12:15
@bog3m @elephmoon @backendsecret может вы и мне ментора найдёте?) я вроде не очень глупый
12:15
@backendsecret алертнул менторство
борюсь с желанием ворваться, рассказать как не убить дитя своей опекой и тучу пр… twitter.com/i/web/status/9…
12:16
@vstavai @backendsecret @elephmoon это от общего опыта и Ваших знаний зависит
как по мне, пакет начинающего nodejs'… twitter.com/i/web/status/9…
12:17
@backendsecret Пишу внутреннюю документацию. Считается?
12:17
@backendsecret взял зелёную девочку devops стажёром. учу уму разуму.
16:27
@backendsecret Учу Питон. Имею математическое образование и хорошие мозги, учусь быстро, объяснять два раза не прид… twitter.com/i/web/status/9…
18:30
@backendsecret ищу ментора
Люблю математику. Сейчас изучаю Java (преподают в универе, + осваиваю фреймворк спринг)… twitter.com/i/web/status/9…
18:58

Вечер воскресенья... Всем спасибо! Надеюсь отдохнули от монад :) С вами был куратор (не модератор!;) @dcromster. Ес… twitter.com/i/web/status/9…

20:24

www.youtube.com

hackage.haskell.org

is.gd

other