Ладно, время возвращаться к программированию и инженерии.
Недавно открыл для себя просто потрясающую книгу по системному мышлению от Анатолия Левенчука: https://ridero.ru/books/sistemnoe_myshlenie/
Она же в виде курса на Курсере: https://ru.coursera.org/learn/system-thinking
По моему убеждению, инженер-программист (акцент на слове «инженер») просто обязан обладать рациональным, логичным, последовательным мышлением для того, чтобы моделировать окружающий мир и выражать эти модели и их взаимосвязи в своей работе. Вещи, о которых говорит Анатолий в своих трудах, как раз позволяют выработать навыки системного мышления. Эти навыки будут только усиливаться, если параллельно заниматься изучением теории типов и теории категорий. Их тоже можно рассматривать как инструменты моделирования реальности, а чем больше таких инструментов будет в вашем арсенале, тем точнее вы сможете доносить свои идеи.
P.S. Кстати, у Анатолия очень крутой блог в ЖЖ: https://ailev.livejournal.com, советую внести в закладки, как минимум.
Недавно открыл для себя просто потрясающую книгу по системному мышлению от Анатолия Левенчука: https://ridero.ru/books/sistemnoe_myshlenie/
Она же в виде курса на Курсере: https://ru.coursera.org/learn/system-thinking
По моему убеждению, инженер-программист (акцент на слове «инженер») просто обязан обладать рациональным, логичным, последовательным мышлением для того, чтобы моделировать окружающий мир и выражать эти модели и их взаимосвязи в своей работе. Вещи, о которых говорит Анатолий в своих трудах, как раз позволяют выработать навыки системного мышления. Эти навыки будут только усиливаться, если параллельно заниматься изучением теории типов и теории категорий. Их тоже можно рассматривать как инструменты моделирования реальности, а чем больше таких инструментов будет в вашем арсенале, тем точнее вы сможете доносить свои идеи.
P.S. Кстати, у Анатолия очень крутой блог в ЖЖ: https://ailev.livejournal.com, советую внести в закладки, как минимум.
Для обсуждения моделирования мира, онтологики и взаимосвязи всего этого с теорией типов и теорией категорий был создан чат «Типы в языках программирования, моделирования, представления знаний и жизни». Если вам интересны эти темы — присоединяйтесь: https://news.1rj.ru/str/typeslife
Telegram
Типы в языках программирования, моделирования, представления знаний и жизни
Обсуждаем моделирование реального (или не очень) мира при помощи типов - зависимых или независимых (можно даже динамических, но только шёпотом).
STLC, MLTT, теория типов, теория доменов, теория категорий и даже онтология являются онтопиком.
STLC, MLTT, теория типов, теория доменов, теория категорий и даже онтология являются онтопиком.
#музыкальная_пауза
Ходил вчера на концерт Beast In Black в клуб RED. Море удовльствия — вживую парни просто пышут энергией и позитивом, при этом играют и поют так же круто, как на студийных записях. Единственное, что смазало удовольствие от концерта — начало задержали на полтора (!) часа. Такое себе не позволяют даже более именитые коллективы.
Записал исполнение одной из моих любимых их песен — драйвовой «Crazy, Mad, Insane»: https://youtu.be/EEacwG6Q9uk
Ходил вчера на концерт Beast In Black в клуб RED. Море удовльствия — вживую парни просто пышут энергией и позитивом, при этом играют и поют так же круто, как на студийных записях. Единственное, что смазало удовольствие от концерта — начало задержали на полтора (!) часа. Такое себе не позволяют даже более именитые коллективы.
Записал исполнение одной из моих любимых их песен — драйвовой «Crazy, Mad, Insane»: https://youtu.be/EEacwG6Q9uk
YouTube
Beast In Black — "Crazy, Mad, Insane" live @ Moscow'2019
Опубликовал kleisli-ts 1.0.0: https://github.com/YBogomolov/kleisli-ts/releases/tag/1.0.0
Наконец-то завершил миграцию на fp-ts@2, в связи с чем поднял мажорную версию пакета.
Наконец-то завершил миграцию на fp-ts@2, в связи с чем поднял мажорную версию пакета.
GitHub
Release 1.0.0 · YBogomolov/kleisli-ts
Breaking change: migration to fp-ts@2.
19 сентября я буду выступать на JS-митапе, организованном агентством Spice IT. Буду говорить на тему программирования на уровне типов на TypeScript. Поговорим о том, для чего это может быть нужно как бизнесу, так и программисту; слегка затронем тему изоморфизма Карри-Ховарда-Ламбека и посмотрим, какие выразительные средства для тайплевела вообще есть в TS.
Приходите! 🙂
Ссылки на событие:
https://www.facebook.com/events/690840634767559/
https://spice-agency.timepad.ru/event/1058346
Приходите! 🙂
Ссылки на событие:
https://www.facebook.com/events/690840634767559/
https://spice-agency.timepad.ru/event/1058346
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
#музыкальная_пауза
Живое выступление гениального бас-гитариста Майкла Манринга с композицией «Selene», взятой из его мастер-класса для «Bass Player»:
https://www.youtube.com/watch?v=zaK2GU9pgos&t=2720
Живое выступление гениального бас-гитариста Майкла Манринга с композицией «Selene», взятой из его мастер-класса для «Bass Player»:
https://www.youtube.com/watch?v=zaK2GU9pgos&t=2720
YouTube
Michael Manring at Bass Player LIVE! 2013
Solo artist Michael Manring (Windham Hill) demonstrates his technical & harmonic virtuosity with his Zon Hyperbass in his Bass Player LIVE! clinic.
Подписал открытое письмо специалистов IT-индустрии в защиту фигурантов «московского дела». Специально не указывал текущее место работы — я выражаю свою личную гражданскую позицию и не хочу быть как-либо аффилированным с моим работодателем по этому вопросу.
Ну а поддерживать или нет данную инициативу — вопрос личной ответственности каждого.
Ну а поддерживать или нет данную инициативу — вопрос личной ответственности каждого.
GitHub
GitHub - developers-against-repressions/case-212: Открытое письмо специалистов IT-индустрии в защиту фигурантов «московского дела»
Открытое письмо специалистов IT-индустрии в защиту фигурантов «московского дела» - developers-against-repressions/case-212
Ну что, кожаные мешки! Boston Dynamics представила два новых ролика: в одном Атлас паркурит, а второй — промо для Спота.
YouTube
More Parkour Atlas
Atlas uses its whole body -- legs, arms, torso -- to perform a sequence of dynamic maneuvers that form a gymnastic routine. We created the maneuvers using new techniques that streamline the development process. First, an optimization algorithm transforms…
https://www.youtube.com/playlist?list=PLdMxOl1jkhWwCvu9mjn7zgf9hR7ZXQedq — опубликованы доклады с FPURE’2019
YouTube
FPURE-2019 - YouTube
Вместе с моим замечательным другом Григорием Ситниным начали небольшой проект под рабочим названием «Функциональное программирование для чайника». Начали с нуля и постепенно будем продвигаться к более сложным темам. Гриша — ярый прагматик, так что он не дает мне слишком ударяться в математику.
Пилотный выпуск выкладываю в виде готовой записи, дальше будут просто лайв-стримы: https://www.youtube.com/watch?v=XLknNzYL2ks
Следите за анонсами 🙂 Ну и если будет обратная связь — пишите в личку, я буду рад.
Пилотный выпуск выкладываю в виде готовой записи, дальше будут просто лайв-стримы: https://www.youtube.com/watch?v=XLknNzYL2ks
Следите за анонсами 🙂 Ну и если будет обратная связь — пишите в личку, я буду рад.
https://alcestes.github.io/effpi/ — Akka здорового человека 🙂
Мне чем-то напомнило то, как Эдвин Брэйди в докладе про Idris 2 описывал некий протокол, у которого последовательность сообщений была прописана на уровне типов.
Мне чем-то напомнило то, как Эдвин Брэйди в докладе про Idris 2 описывал некий протокол, у которого последовательность сообщений была прописана на уровне типов.
alcestes.github.io
Effpi: verified message-passing programs in Dotty
A toolkit for strongly-typed, verified concurrent and distributed programming in Dotty
Набросал гист с «сессионными типами нищеброда™» для TypeScript.
Сессионные типы — это способ описания протоколов клиент-серверного взаимодействия, не позволяющий использовать протокол ненадлежащим образом. Основная информация о них обитает здесь, там же лежат реализации сессионных типов для разных языков — от AST и Haskell до Scala и Rust.
В идеальном случае, сессионные типы должен поддерживать компилятор. На практике же клепаются костыли в виде сторонних чекеров (как в упомянутом ранее Effpi или в Gong), ну или проверяют в рантайме.
У нас в тайпскрипте из выразительных возможностей, позволяющих хоть сколь-нибудь удобно выражать сессионные типы, нет ничего — даже рекурсивных типов, лол. Тем не менее, заставить компилятор генерировать тип дуального канала мне удалось, равно как и проверять совместимость клиента и сервера.
Сессионные типы — это способ описания протоколов клиент-серверного взаимодействия, не позволяющий использовать протокол ненадлежащим образом. Основная информация о них обитает здесь, там же лежат реализации сессионных типов для разных языков — от AST и Haskell до Scala и Rust.
В идеальном случае, сессионные типы должен поддерживать компилятор. На практике же клепаются костыли в виде сторонних чекеров (как в упомянутом ранее Effpi или в Gong), ну или проверяют в рантайме.
У нас в тайпскрипте из выразительных возможностей, позволяющих хоть сколь-нибудь удобно выражать сессионные типы, нет ничего — даже рекурсивных типов, лол. Тем не менее, заставить компилятор генерировать тип дуального канала мне удалось, равно как и проверять совместимость клиента и сервера.
Gist
Session types for TypeScript
Session types for TypeScript. GitHub Gist: instantly share code, notes, and snippets.