Глубинный котер
95 subscribers
60 photos
7 videos
4 files
71 links
Download Telegram
Forwarded from Alexander C
Khoruzhii_Kirill_Short_paths_on_Cayley_graphs.pdf
1.7 MB
📖 Presentation:
👨‍🔬 Кирилл Хоружий "Введение в методы поиска короткого пути на больших графах"
📹 Video: https://youtu.be/2J3eGGH-uiM?si=9xgHtcCpBj0wKXC0
✔️ Abstract: https://t.iss.one/sberlogabig/451
🔥1
Не то что наш админ работяга с завода
1
Админы на icml:
2
Дурку для стартступеров подвезли
This media is not supported in your browser
VIEW IN TELEGRAM
Отличный доклад с PiterPy 2020 про системы типов. Очень понятное введение в теорию с примерами.

Стоит смотреть хотя бы ради этого момента на видео
2😁1🤯1
То чувство, когда думал, что Rust — про безопасный C++, а оказалось — про быстрый Haskell
👍3
12 строчек разделяют гибкость от безопасности и производительности. Разумная цена?
👍2
Глубинный котер
lineartaste-revised.pdf
Подборка статей Филиппа Вадлера по аффинным типам
🤯2
Однозначно в вишлист

Сурцы
2🔥1
Наткнулся на очень хорошую обзорную статью Rust vs. Haskell, благодаря которой поближе познакомился с Haskell. В целом мое первое впечатление от Rust как высокопроизводительном варианте функциональном языке ака Haskell оказался правдивым. Но Rust за свою эффективность заплатил отказом от части фич ML семейства:

Partial field accessors

Благодаря этой возможности в Haskell в конструктор типа-суммы можно передавать аргументы одного из типов, например:

data Croissant  = Plain {price :: Double}
| WithFilling {filling :: String, price :: Double}

let plain = Plain 1.75

-- This is ok and works as expected:
print $ price plain
-- Prints: 1.75


Runtime and concurrency

Rust пошел по пути stackless корутин со всеми любимыми async/await, что нельзя сказать про Haskell с более приятным синтаксисом:

concurrentProgram :: Work -> IO Result
concurrentProgram work = do
results <-
timeout twoSeconds $
mapConcurrently (doWork work) [ServiceA, ServiceB, ServiceC]
pure $ case results of
Just success -> Success success
Nothing -> Timeout
where
twoSeconds = 1000 * 1000

-- Run the program
concurrentProgram someWork


Generators

В Rust толком нет ленивых вычислений, которые могут быть очень полезны для оптимизации памяти. Haskell напротив всегда лениво вычисляется.

Higher-order programming

В Haskell все построено на высоко-уровненных абстракциях как монады, функторы и т.д., которые делают язык более выразительным. Но с другой стороны, это все не бесплатно, а Rust предоставляют достаточную выразительность также
1🔥1
Добрался до новинки от Влада Хононова

Буду тут оставлять отрывки, под тегом #balancing_coupling
👍3
#balancing_coupling

Дедушки вспоминают пришествие микросервсивов:

Around 2014, yet another “decoupling salvation” came around — microservices. I even remember a slide saying “microservices is the architecture for decoupling” at some conference
👍1
Глубинный котер
Structured_Design_Edward_Yourdon_Larry_Constantine.pdf
В последнее время очень часто встречаю ссылки на эту книгу от Кент Бека до Влада Хононова. Однозначно в список на чтение Yourdon and Cosntantine 1975
😁2
#balancing_coupling

Coupling suggests a relationship between connected entities. If they are coupled, in some way, they can affect each other. That said, as there are different systems to build and different ways to design them, there are different ways to connect components.
👍2
#balancing_coupling

There are different types of knowledge that can be shared across the boundaries of coupled components. The more knowledge is shared, the higher the dependency between the components; thus, the more often the components will have to change together. Even if components are not sharing knowledge, they can be coupled through shared lifecycles.
👍2🥴1
#balancing_coupling

Позитивный настрой в книге по архитектуре программ

Charles Perrow conducts a detailed analysis of the causes for catastrophic accidents in complex systems, such as nuclear power plants, air traffic, and others. He concludes that, sooner or later, all complex systems are doomed to fail.
🤓2👍1
#balancing_coupling

Всем любителям оверинженерии и хайповых примочек посвящается

A system is plagued with accidental complexity: the team introduces tools and techniques because they are trendy, and not because they are really needed.
👍2