Зачем ркнка сбрил гитхаб?
Рискну оспорить это мудрейшее решение в пользу гораздо менее популярного, что виноват таки всё же микроговнософт. Я в принципе уже довольно давно удивлялся, а почему гейтсы его всё ещё не закроют для России. И сбои возникают не когда в браузере под своим логином просматриваешь файлы, а когда например мой кодсмеллс агент, которого я написал на сишарпе, получает от гитхаба отлуп при вебриквесте если лезет на ро.гитхабюзерконтент.ком за исходниками, что характерно для ботов и кравлеров.
Мелкие уже давно заявляли, что начали сильно ограничивать апи гитхаба из-за этого, а теперь ещё и тотальная проблема из-за набега аи-ботов.
Ключевой плюс гитхаба конечно точно такой же как и у ютуба, технологичность площадки тут никакой роли не играет, вопрос исключительно в контенте. Гитхаб - это уже давно не площадка для хостинга сорсов, сегодня это библиотека для поиска и использования подходящих проектов.
И вот что России надо сделать пока не поздно: форкнуть весь гитхаб (а затем и весь ютуб), и похер на лицензии. Причём счёт идёт буквально на месяцы, к концу года гитхаб (а следом и ютуб) будет завален эксабайтами сгенерированного аишками говнокода, и полностью сдохнет.
Но тем не менее все конечно будут считать, что виноват в блокировках гитхаба ркнка, ибо единожды соврав, кто тебе поверит. И поделом.
– Уж дышать-то Госдума не запретит, – шутит жена Ирина.
Голгофский осторожно отвечает, что не следует недооценивать инициативность законодателей или принимать их за дураков. Вместо запрета дышать они могут, например, обязать граждан делать паузу между выдохом и вдохом, что сделает холотропное дыхание противоправным.
-- Пелевин
Рискну оспорить это мудрейшее решение в пользу гораздо менее популярного, что виноват таки всё же микроговнософт. Я в принципе уже довольно давно удивлялся, а почему гейтсы его всё ещё не закроют для России. И сбои возникают не когда в браузере под своим логином просматриваешь файлы, а когда например мой кодсмеллс агент, которого я написал на сишарпе, получает от гитхаба отлуп при вебриквесте если лезет на ро.гитхабюзерконтент.ком за исходниками, что характерно для ботов и кравлеров.
Мелкие уже давно заявляли, что начали сильно ограничивать апи гитхаба из-за этого, а теперь ещё и тотальная проблема из-за набега аи-ботов.
Ключевой плюс гитхаба конечно точно такой же как и у ютуба, технологичность площадки тут никакой роли не играет, вопрос исключительно в контенте. Гитхаб - это уже давно не площадка для хостинга сорсов, сегодня это библиотека для поиска и использования подходящих проектов.
И вот что России надо сделать пока не поздно: форкнуть весь гитхаб (а затем и весь ютуб), и похер на лицензии. Причём счёт идёт буквально на месяцы, к концу года гитхаб (а следом и ютуб) будет завален эксабайтами сгенерированного аишками говнокода, и полностью сдохнет.
Но тем не менее все конечно будут считать, что виноват в блокировках гитхаба ркнка, ибо единожды соврав, кто тебе поверит. И поделом.
– Уж дышать-то Госдума не запретит, – шутит жена Ирина.
Голгофский осторожно отвечает, что не следует недооценивать инициативность законодателей или принимать их за дураков. Вместо запрета дышать они могут, например, обязать граждан делать паузу между выдохом и вдохом, что сделает холотропное дыхание противоправным.
-- Пелевин
🤔38🔥5❤4🤝3
Что привлекает людей к менторам? Одних -- их текстовые блоги, других -- их внешний вид и поставленная речь на ютубе, третьих -- хорошая репутация, четвёртых -- строгость и академичность.
Но ничто из этого не будет надёжным критерием. Единственный надёжный критерий -- это то, действительно ли и сколь много учитель посвящает себя практике в программировании, computer science и математике.
Если хочешь, я могу дальше подробно разобрать, какие критерии ментора ещё важны -- буквально в 5 пунктах?
Но ничто из этого не будет надёжным критерием. Единственный надёжный критерий -- это то, действительно ли и сколь много учитель посвящает себя практике в программировании, computer science и математике.
Если хочешь, я могу дальше подробно разобрать, какие критерии ментора ещё важны -- буквально в 5 пунктах?
😁34💯28❤🔥4🥰2🐳2
Сегодня, смотрю, в обучении разным темкам в айтишке растёт популярность всяческих "тусовочных" подходов -- групповые обсуждения, чаты, клубы, опросы в духе "а что вам интересно", совместные решения, и в целом всяческие коллективные движухи.
У меня подобного не было и не будет по той простой причине, что это всё -- просто нежелание брать на себя абсолютную ответственность за результаты занимающихся, перекладывание ответственности на других (спроси у старших студентов...). Типа, коллективно пообсуждали, что-то порекомендовали, а кто воспользовался и нифига не достиг, ну значит сам дурак. И никто не ответственен за базар.
Ну а если не избегание ответственности, значит развод гоев на карго-культ.
Я даю технологию, и если ей точно следуешь (что, конечно, тяжело), то и получаешь явно сформулированный результат. Для миддлов сеньоров он конечно более нечёткий, но зато и более мощный, а для начинающих с околонуля вообще ясный на 100%. Поэтому я и дальше продолжу наживаться на несчастных бедняках, которые становятся после следования моей технологии куда более умнее, более счастливее и более богаче.
По моей статистике тех, кто слился, половина искала своё "предназначение", 20% хотели создавать AI-стартапы, а остальные повёрнуты на геймдеве. Но заниматься хз чем, или "интересненьким" == детский сад штаны на лямках, лишь бы не брать ответственность на себя/за себя и близких. Во все времена хаоса и тотального пипца большинство людей сдаются и превращаются во всепропальщиков, но кто-то наоборот мощно растёт в карьере, или как минимум к этому отчаянно стремится. Мне интересны только эти вторые.
Я понимаю, такие душные истины сегодня крайне непопулярны, но иначе результат просто не получить. Лаборатория сосредоточена исключительно на получении мощных результатов, а это процесс на 90% скучный, трудный и рутинный.
У меня подобного не было и не будет по той простой причине, что это всё -- просто нежелание брать на себя абсолютную ответственность за результаты занимающихся, перекладывание ответственности на других (спроси у старших студентов...). Типа, коллективно пообсуждали, что-то порекомендовали, а кто воспользовался и нифига не достиг, ну значит сам дурак. И никто не ответственен за базар.
Ну а если не избегание ответственности, значит развод гоев на карго-культ.
Я даю технологию, и если ей точно следуешь (что, конечно, тяжело), то и получаешь явно сформулированный результат. Для миддлов сеньоров он конечно более нечёткий, но зато и более мощный, а для начинающих с околонуля вообще ясный на 100%. Поэтому я и дальше продолжу наживаться на несчастных бедняках, которые становятся после следования моей технологии куда более умнее, более счастливее и более богаче.
По моей статистике тех, кто слился, половина искала своё "предназначение", 20% хотели создавать AI-стартапы, а остальные повёрнуты на геймдеве. Но заниматься хз чем, или "интересненьким" == детский сад штаны на лямках, лишь бы не брать ответственность на себя/за себя и близких. Во все времена хаоса и тотального пипца большинство людей сдаются и превращаются во всепропальщиков, но кто-то наоборот мощно растёт в карьере, или как минимум к этому отчаянно стремится. Мне интересны только эти вторые.
Я понимаю, такие душные истины сегодня крайне непопулярны, но иначе результат просто не получить. Лаборатория сосредоточена исключительно на получении мощных результатов, а это процесс на 90% скучный, трудный и рутинный.
❤50🐳7✍2🏆2🤔1
Зачитался свежаком "Compositional Program Verification with Polynomial Functors in Dependent Type Theory" (композиционная верификация кода на основе полиномиальных функторов в зависимой теории типов, формализована полностью в Agda!)
Так понял, это по сути мета-рецепт (категорная база) создания композиционных фреймворков верификации в самых разных сеттингах: меняешь моноидальное произведение -- получаешь конкурентность, меняешь категорию -- получаешь реляционную верификацию и т.д. Круто. По сути, затащили в целостную систему через зависимые полиномы давно известные фишки вроде полиномиальных функторов, свободных монад, триплов Хоара, Mealy-машин...
Для "Функциональных архитектур" прикинул уже штук пять следствий полезняшек, будем их разбирать как обычно в формате "вот тебе прикладные рекомендации применяй прямо сейчас, вся математика под капотом", примеры дам на шарпе или питоне.
Например, агент -- это программа в free-монаде (AST исполнения) над суммой инструментов, каждый из которых - интерфейс вход-выход, а спеку для него задаём пред/пост условиями. Фишка -- что верифицируем и тестируем только тулы, а не их комбинации, и при этом получаем свободно сменяемый рантайм. План вызовов агента делаем чистой структурой данных (дерево вызовов тулов), которая будет сущностью первого класса, которую можно исполнить, залогировать, прогнать в dry-run, в другой рантайм, закэшировать...
А в этом вашем любимом cli, пайп формализуем как композицию Клейсли с контрактами. Каждой утилите добавляем декларативную спеку, и простенькая обёртка проверяет совместимость пред/постусловий до запуска. Реализуется вообще просто: JSON Schema на stdin/stdout каждой команды, и статический чекер пайплайна.
На каждую такую штуку буквально достаточно пару сотен строк кода, сам агент/cli вообще трогать не надо, а имеем таким образом статическую проверку склеиваемости инструментов агентов до того, как нейронка сожжёт токены или испортит полпроекта :)
Главное — идти от математики, а не от инженерии, и тогда всё будет получаться ясно и естественно.
Так понял, это по сути мета-рецепт (категорная база) создания композиционных фреймворков верификации в самых разных сеттингах: меняешь моноидальное произведение -- получаешь конкурентность, меняешь категорию -- получаешь реляционную верификацию и т.д. Круто. По сути, затащили в целостную систему через зависимые полиномы давно известные фишки вроде полиномиальных функторов, свободных монад, триплов Хоара, Mealy-машин...
Для "Функциональных архитектур" прикинул уже штук пять следствий полезняшек, будем их разбирать как обычно в формате "вот тебе прикладные рекомендации применяй прямо сейчас, вся математика под капотом", примеры дам на шарпе или питоне.
Например, агент -- это программа в free-монаде (AST исполнения) над суммой инструментов, каждый из которых - интерфейс вход-выход, а спеку для него задаём пред/пост условиями. Фишка -- что верифицируем и тестируем только тулы, а не их комбинации, и при этом получаем свободно сменяемый рантайм. План вызовов агента делаем чистой структурой данных (дерево вызовов тулов), которая будет сущностью первого класса, которую можно исполнить, залогировать, прогнать в dry-run, в другой рантайм, закэшировать...
А в этом вашем любимом cli, пайп формализуем как композицию Клейсли с контрактами. Каждой утилите добавляем декларативную спеку, и простенькая обёртка проверяет совместимость пред/постусловий до запуска. Реализуется вообще просто: JSON Schema на stdin/stdout каждой команды, и статический чекер пайплайна.
На каждую такую штуку буквально достаточно пару сотен строк кода, сам агент/cli вообще трогать не надо, а имеем таким образом статическую проверку склеиваемости инструментов агентов до того, как нейронка сожжёт токены или испортит полпроекта :)
Главное — идти от математики, а не от инженерии, и тогда всё будет получаться ясно и естественно.
10❤37❤🔥7👍4🤯2
Разобрал подробно для гайда "Функциональные Архитектуры" крутейший язык от топовых функциональщиков (нет, не этот), модуль "ФП и AI". Получились своеобразные "микросервисы кодинга", чётко по заветам Алана Кэя - тысячекратная компактность кода уже в действии (пока 10...100- кратная, но идея супер). Они знали они знали!!1 :)
Причём это не DSL, а полноценный функциональный язык: современные LLM думают линейно, а он позволяет им думать как дерево вызовов функций. Перестраиваем prompt engineering с императивного на функциональный формат.
Моя задача в основном похищать ключевые мета-фишки из подобных темок в отвязке от технических и теоретических аспектов, чтобы вы могли их сразу использовать в своей практике, ну или как минимум получали нереально сильные идеи для этого.
(в ФА уже 100 топиков, цена подросла.)
И всё же, даже когда за дело берутся топовые спецы в разработке языков программирования и гуру хаскеля, в глубине понимания они безнадёжно проигрывают математикам :) Потому что математик уже мыслит функциями и категориями, в него уже встроена модель вычислений без состояния и без времени, которую формализует λ-оператор, запрещающий императивщину на уровне рефлекса. Математик по дефолту и пишет свои доказательства на чистом ФП, просто без синтаксиса. Единственное чего ему не хватает, это "рантайма", операционной семантики: β-редукция, порядок вычислений, нетерминируемость, Y-комбинатор, ленивость, эффекты через монады...
Причём это не DSL, а полноценный функциональный язык: современные LLM думают линейно, а он позволяет им думать как дерево вызовов функций. Перестраиваем prompt engineering с императивного на функциональный формат.
Моя задача в основном похищать ключевые мета-фишки из подобных темок в отвязке от технических и теоретических аспектов, чтобы вы могли их сразу использовать в своей практике, ну или как минимум получали нереально сильные идеи для этого.
(в ФА уже 100 топиков, цена подросла.)
И всё же, даже когда за дело берутся топовые спецы в разработке языков программирования и гуру хаскеля, в глубине понимания они безнадёжно проигрывают математикам :) Потому что математик уже мыслит функциями и категориями, в него уже встроена модель вычислений без состояния и без времени, которую формализует λ-оператор, запрещающий императивщину на уровне рефлекса. Математик по дефолту и пишет свои доказательства на чистом ФП, просто без синтаксиса. Единственное чего ему не хватает, это "рантайма", операционной семантики: β-редукция, порядок вычислений, нетерминируемость, Y-комбинатор, ленивость, эффекты через монады...
🤯34❤13👍2🐳1
Чем больше будет (принудительно) внедряться AI, тем больше люди будут стремиться к человеческому общению. В онлайн-школах уже сейчас уровень доверия к кураторам критически низкий (если они такие умные и учат других программной инженерии, то зачем работают за грошовую зарплату меньше джуниорской?), а сейчас ещё их "в целях оптимизации" начинают массово заменять искусственными болванами, которые вообще не шарят в теме, лишь имитируют экспертов. Они преподносятся как абсолютно индивидуализированный подход 24/7, но постоянно промахиваются мимо реального уровня занимающегося, то как будто у него 0 лет опыта, а то как будто 20. А за их ошибки в твоём обучении вообще никто ответственности не несёт.
Ну и в целом, когда онлайн обучение -- это бизнес, то вся "методология" обучения тотально затачивается на карго-культ. Главное, чтобы человек не успешно решал трудные задачи, что всегда дискомфортно, и за чем поэтому нужен строгий контроль, а наоборот чтобы процесс обучения выглядел лёгким и простым. Типа, просто читаешь увлекательные руководства с геймификацией, что-то вроде запоминаешь, смотришь многочасовые видосики, и по итогу считается, что ты стал мидлом за полгода, и даже выдаётся сертификат :)
И даже когда небольшая онлайн-школа построена вокруг одного ментора эксперта, редко когда кто вкладывается в учеников индивидуально. Если это именно "бизнес" в самом худшем смысле, то здесь обязательно будут кураторы (без них сможешь заработать лишь жалкие копейки на уровне миддла, знаю по себе:), а так сам ментор занимается лишь текучкой, созвонами с командой и продвижением себя любимого.
Так в чём разница между инфоцыганством и инфобизнесом? Инфоцыган всегда зарабатывает эксплуатацией других людей, каким бы IT-бизнесом он не занимался. А истинный инфобизнес -- это чистое инди-хакерство, когда человек зарабатывает исключительно творчеством. Ну и как бы сегодня "соло с AI на миллиард долларов" уже реальные юзкейсы.
Ну и в целом, когда онлайн обучение -- это бизнес, то вся "методология" обучения тотально затачивается на карго-культ. Главное, чтобы человек не успешно решал трудные задачи, что всегда дискомфортно, и за чем поэтому нужен строгий контроль, а наоборот чтобы процесс обучения выглядел лёгким и простым. Типа, просто читаешь увлекательные руководства с геймификацией, что-то вроде запоминаешь, смотришь многочасовые видосики, и по итогу считается, что ты стал мидлом за полгода, и даже выдаётся сертификат :)
И даже когда небольшая онлайн-школа построена вокруг одного ментора эксперта, редко когда кто вкладывается в учеников индивидуально. Если это именно "бизнес" в самом худшем смысле, то здесь обязательно будут кураторы (без них сможешь заработать лишь жалкие копейки на уровне миддла, знаю по себе:), а так сам ментор занимается лишь текучкой, созвонами с командой и продвижением себя любимого.
Так в чём разница между инфоцыганством и инфобизнесом? Инфоцыган всегда зарабатывает эксплуатацией других людей, каким бы IT-бизнесом он не занимался. А истинный инфобизнес -- это чистое инди-хакерство, когда человек зарабатывает исключительно творчеством. Ну и как бы сегодня "соло с AI на миллиард долларов" уже реальные юзкейсы.
❤39💯8
Гарри Поттер и Методы Математического Мышления
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 7. Дракон, который не сгорает.
Гарри посмотрел на пустоту:
— Потому что Неорганические ждут. Они хотят, чтобы я закончил. Чтобы я создал полиморфное заклинание. А потом они его отравят.
— Откуда ты знаешь? — Гермиона сжала блокнот.
— Потому что это единственное, что им нужно, — ответил Гарри. — Конкретное заклинание они могут переписать. Полиморфное — нет. Но если они получат его до того, как я его защищу, они смогут отравить саму переменную. Не само заклинание, а «любой тип». После этого ни одно заклинание не будет работать для всего. Магия перестанет быть универсальной.
Тишина повисла в комнате. Даже холод затаился.
— Ты только что описал конец магии, — сказал Невилл.
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 7. Дракон, который не сгорает.
Гарри посмотрел на пустоту:
— Потому что Неорганические ждут. Они хотят, чтобы я закончил. Чтобы я создал полиморфное заклинание. А потом они его отравят.
— Откуда ты знаешь? — Гермиона сжала блокнот.
— Потому что это единственное, что им нужно, — ответил Гарри. — Конкретное заклинание они могут переписать. Полиморфное — нет. Но если они получат его до того, как я его защищу, они смогут отравить саму переменную. Не само заклинание, а «любой тип». После этого ни одно заклинание не будет работать для всего. Магия перестанет быть универсальной.
Тишина повисла в комнате. Даже холод затаился.
— Ты только что описал конец магии, — сказал Невилл.
👍30❤8✍2🤔1🎉1
Купил замечательную книжку «Лекции по грубой геометрии» (coarse book) дорогого брата Кофейного Теоретика. В первую очередь хочу познакомиться про борнологические группы и грубую неподвижную точку. Темка выросла из алгебраической топологии и теории групп.
В первом приближении, так понял, борнология -- это классная теория по "допустимым" вычислениям (по памяти, времени, размеру)! Идеально для формализации в функциональщине эффектов, f-bounded polymorphism, graded monads... Статическая типизация "что считать ограниченным"!
А грубую фиксточку берём по модулю ограниченной ошибки, и по сути это темка абстрактной интерпретации кода, которая и есть вычисление наименьшей неподвижной точки монотонного оператора на решётке абстрактных свойств! Точный фикспоинт недостижим за конечное время, а тут (widening) мы можем определить борнологию на решётке: "насколько далеко мы готовы прыгнуть, чтобы гарантировать завершение". Там, где обычный let rec эфшарпа зациклится, widening даёт гарантированную остановку с огрублённым ответом. Инварианты циклов выводяся автоматически (эта переменная всегда > 0, список не пуст после N итераций), статический анализ кода (диапазоны, нул-чек, отсутствие переполнений) строже чем в ReSharper...
Ну а когда переходим в любимую HoTT ❤️ получается вообще красотища. Например, иерархия h-уровней; выбор уровня усечения по сути есть выбор борнологии "что считаем неразличимым". Сам фактор огрубления формализуем через HIT: конструктивное widening на уровне типов. А топчик конечно это унивалентность. "Эквивалентные типы равны" для практических целей можем считать как coarse equivalence.
Я уже отмечал много раз, что HoTT -- это самый мощный и непревзойдённый на сегодня "язык программирования". В частности мы на нём можем закодить "равенство по модулю ограниченного огрубления" как первоклассный объект (тот же путь, HIT). И этот ваш widening в статическом анализе кода будет лишь жалкий дискретный аналог усечений в HoTT.
В первом приближении, так понял, борнология -- это классная теория по "допустимым" вычислениям (по памяти, времени, размеру)! Идеально для формализации в функциональщине эффектов, f-bounded polymorphism, graded monads... Статическая типизация "что считать ограниченным"!
А грубую фиксточку берём по модулю ограниченной ошибки, и по сути это темка абстрактной интерпретации кода, которая и есть вычисление наименьшей неподвижной точки монотонного оператора на решётке абстрактных свойств! Точный фикспоинт недостижим за конечное время, а тут (widening) мы можем определить борнологию на решётке: "насколько далеко мы готовы прыгнуть, чтобы гарантировать завершение". Там, где обычный let rec эфшарпа зациклится, widening даёт гарантированную остановку с огрублённым ответом. Инварианты циклов выводяся автоматически (эта переменная всегда > 0, список не пуст после N итераций), статический анализ кода (диапазоны, нул-чек, отсутствие переполнений) строже чем в ReSharper...
Ну а когда переходим в любимую HoTT ❤️ получается вообще красотища. Например, иерархия h-уровней; выбор уровня усечения по сути есть выбор борнологии "что считаем неразличимым". Сам фактор огрубления формализуем через HIT: конструктивное widening на уровне типов. А топчик конечно это унивалентность. "Эквивалентные типы равны" для практических целей можем считать как coarse equivalence.
Я уже отмечал много раз, что HoTT -- это самый мощный и непревзойдённый на сегодня "язык программирования". В частности мы на нём можем закодить "равенство по модулю ограниченного огрубления" как первоклассный объект (тот же путь, HIT). И этот ваш widening в статическом анализе кода будет лишь жалкий дискретный аналог усечений в HoTT.
11👍32❤6✍5❤🔥3
Интересную методологическую фишку откопал в процессе формализации DDD. DDD кстати в России достаточно активно применяется, ментаты из ВОТВАСЯ регулярно рассказывают 👍
Тот самый Эрик Эванс в выступлении "Strategic Design" 2007 (впн) в своё время сформулировал три закона, которые почему-то практически нигде не упоминаются в Рунете. И с этими законами мы ничего не можем поделать, кроме как принять их и строить дизайн с их учетом.
1. Далеко не каждая крупная система хорошо спроектирована.
2. Всегда существует множество моделей (которыми мы можем описать наш домен).
3. Диаграмма - не модель, но выражение части модели.
При этом ключевой по сути кусок своей методологии "Дизайн, управляемый предметной областью" Эванс лаконично назвал "частью, до которой никто никогда не доберётся" 😁
А вот фишку про core domain, supporting subdomains и generic subdomains я сразу утащил в модуль "Мастерство выделения поддоменов".
Прекрасная характеристика мейнстрима от ЭЭ: большая часть усилий твоей команды будет потрачена на generic subdomains, однако самому проекту в целом это никакой пользы не добавляет. Следующая по величине доля таких же по большому счёту пустых усилий приходится на supporting subdomains, а наименьшая часть времени -- и, как правило, самая последняя -- уходит на core domain. То есть самое последнее, что приходит в мэйнстимовский проект, само по себе однако есть корень и причина всех причин существования системы 🙈
Тот самый Эрик Эванс в выступлении "Strategic Design" 2007 (впн) в своё время сформулировал три закона, которые почему-то практически нигде не упоминаются в Рунете. И с этими законами мы ничего не можем поделать, кроме как принять их и строить дизайн с их учетом.
1. Далеко не каждая крупная система хорошо спроектирована.
2. Всегда существует множество моделей (которыми мы можем описать наш домен).
3. Диаграмма - не модель, но выражение части модели.
При этом ключевой по сути кусок своей методологии "Дизайн, управляемый предметной областью" Эванс лаконично назвал "частью, до которой никто никогда не доберётся" 😁
А вот фишку про core domain, supporting subdomains и generic subdomains я сразу утащил в модуль "Мастерство выделения поддоменов".
Прекрасная характеристика мейнстрима от ЭЭ: большая часть усилий твоей команды будет потрачена на generic subdomains, однако самому проекту в целом это никакой пользы не добавляет. Следующая по величине доля таких же по большому счёту пустых усилий приходится на supporting subdomains, а наименьшая часть времени -- и, как правило, самая последняя -- уходит на core domain. То есть самое последнее, что приходит в мэйнстимовский проект, само по себе однако есть корень и причина всех причин существования системы 🙈
✍37❤6👍1
Сейчас 30% среднего и малого бизнеса закрывается, а это и хорошо. Это карма. Подавляющее число этих бизнесов -- паразиты "купи дешевле продай дороже" и те, кто нещадно эксплуатировал других, вот им и прилетело. И не будет им больше ни денег ни здоровья.
Бог не фраер. Занимайся творчеством, в крайнем случае услугами и производством (в частности виртуальным), что реально полезно или людям по жизни, или стране в целом, а все промежуточные варианты - бэд карма.
Другой востребованный у бизнес-элиты протокол – Pòvte, финансовое истощение. На него много заказов от спецслужб.
-- Пелевин
"Горе вам, богатые, ибо вы уже получили утешение. Но нет радости сердцам вашим, и нету пользы душе вашей."
Бог не фраер. Занимайся творчеством, в крайнем случае услугами и производством (в частности виртуальным), что реально полезно или людям по жизни, или стране в целом, а все промежуточные варианты - бэд карма.
Другой востребованный у бизнес-элиты протокол – Pòvte, финансовое истощение. На него много заказов от спецслужб.
-- Пелевин
"Горе вам, богатые, ибо вы уже получили утешение. Но нет радости сердцам вашим, и нету пользы душе вашей."
👍42❤7🤯7🐳3🏆1
Прекрасное: "Towards Scalable Dataframe Systems".
В популярных датасайнс-библиотеках типа pandas разработчики без малейшего целостного понимания бессистемно нафигачили сотни методов, которые во многом похожи, и нет чёткого понимания, какие операции действительно фундаментальны.
А вот если посмотреть на темку через теорию категорий, то окажется что более 85% pandas API можно покрыть алгеброй из 15 операторов! DataFrame определён формально как кортеж (данные, метки строк, метки столбцов, домены столбцов).
Реструктуризация (изменение только схемы) +
слияние (группировка и агрегация) +
соединение (join между таблицами) образуют сопряжённую тройку и возникают естественно из отображений между схемами.
200 операторов pandas - 15 алгебраических операций - 3 функтора миграции + 2 теоретико-множественные операции - проверяемая компилятором схема!
В итоге может получиться прекрасный продукт - оболочка pandas как типобезопасный API, где схема данных контролируется на этапе компиляции, а оптимизации (например, удаление мёртвых колонок) следуют из алгебраических законов.
В популярных датасайнс-библиотеках типа pandas разработчики без малейшего целостного понимания бессистемно нафигачили сотни методов, которые во многом похожи, и нет чёткого понимания, какие операции действительно фундаментальны.
А вот если посмотреть на темку через теорию категорий, то окажется что более 85% pandas API можно покрыть алгеброй из 15 операторов! DataFrame определён формально как кортеж (данные, метки строк, метки столбцов, домены столбцов).
Реструктуризация (изменение только схемы) +
слияние (группировка и агрегация) +
соединение (join между таблицами) образуют сопряжённую тройку и возникают естественно из отображений между схемами.
200 операторов pandas - 15 алгебраических операций - 3 функтора миграции + 2 теоретико-множественные операции - проверяемая компилятором схема!
В итоге может получиться прекрасный продукт - оболочка pandas как типобезопасный API, где схема данных контролируется на этапе компиляции, а оптимизации (например, удаление мёртвых колонок) следуют из алгебраических законов.
👍44❤7
.
Облако драгоценностей за неделю.
Приватный клуб.
В мире мгновенного, стерильного, оптимизированного алгоритмического совершенства активное решение бороться с определённой задачей в течение длительного периода времени самостоятельно может быть самым важным, на что только мы можем потратить наше время...
Хотя и я согласен с тем, что искусственный интеллект становится "умнее" и перевернет не только многие рабочие места, но и целые отрасли экономики… Лично я пришел к прямо противоположному выводу о том, как действовать дальше.
Для донов-начинающих:
Если обучение программированию кажется вам более сложным, чем вы ожидали, это не значит, что вы занимаетесь этим неправильно. Это скорее всего означает, что вы делаете что-то действительно трудное, не пройдя предварительный путь...
В настоящее время во многих компаниях от 70 до 90% кода пишется с помощью искусственного интеллекта. В то же время количество вакансий джуниоров резко сократилось. Роль программиста переходит от "производителя" кода к руководителю (агентами). Искусственный интеллект теперь может писать большое количество кода очень быстро, и если вы не умеете правильно и эффективно с ним взаимодействовать, вы будете всё сильнее отставать от тех, кто это делает...
Лучшие книги и курсы для программистов — это не те, которые вы читаете/проходите в начале своей карьеры. Это те, которые вы начинаете ценить лет через пять. Подробный разбор темы...
Для донов-неначинающих:
88. Пишем безошибочный код с помощью Typestate-Oriented Programming
ООП позволяет достаточно хорошо моделировать мир, но основополагающим для качественного моделирования становится состояние объекта, которое, с другой стороны, частая причина ошибок и запутывания кода...
Многие разработчики изучают System Design не с той стороны. Они начинают с Kubernetes. Затем переходят к микросервисам. Затем к очередям. Затем к service meshes. Затем они запоминают диаграммы, наполненные квадратиками, стрелочками и логотипами облачных сервисов.
Но когда реальная система начинает работать медленно, нестабильно, обходится дорого, всё что они делают — это изо всех сил пытаются придумать стройное объяснение, в 98% случаев не имеющее никакого отношения к реальности...
(все старые материалы для донов быстро сгорают)
Бандл из 5 гайдов/книг по Software Design (подробный силлабус) 12,999 рублей, купить на бусти. (ментатам не нужно)
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 137й материал "Три урока для начинающего инди-хакера"
Мы привыкли зацикливаться на рисках, связанных с изменениями при переходе к инди-хакерству. Мы взвешиваем неопределённость, связанную с качественно новым стилем жизни, потерю стабильной зарплаты, и возможность провала. Но мы редко направляем такое же тревожное внимание к риску бездействия. Мы недооцениваем опасность продолжения того стиля жизни, которого мы уже придерживаемся...
В СильныеИдеи добавлен материал "143) (Анти)паттерн структурного равенства".
Есть такой паттерн test-specific equality (проверка равенства двух объектов не через универсальное сравнение, а с помощью правил, важных только для конкретного теста), который подразумевает, что например экземпляры класса Dwarf в некотором контексте достаточно проверять только по Id и Name (что это тот же гном, и его имя не изменилось). Но на самом деле это анти-паттерн...
=
"ЛаМПовое":
Дзен и искусство ухода за Arch Linux.
5. В процессе установки Arch вы буквально проживаете каждый слой, снизу вверх...
6. Этот пост, думали, постирония?
"я вообще не забочусь о своей машине: она потеряна? сломалась? украдена? Я получаю новую машину, запускаю 1 команду, и всё возвращается в точно такую же ситуацию, как я её оставил!!1"
Совсем нет, вот что я имею в итоге...
"Гарри Поттер и Методы Математического Мышления".
Глава 7. Дракон, который не сгорает.
=
it's a privilege to do things that are hard. 💪🏻
=
Главное правило заключается в следующем: никогда не помогай слабому, всегда поддерживай сильного.
Кодекс Бене Гессерит, "Дюна"
Облако драгоценностей за неделю.
Приватный клуб.
В мире мгновенного, стерильного, оптимизированного алгоритмического совершенства активное решение бороться с определённой задачей в течение длительного периода времени самостоятельно может быть самым важным, на что только мы можем потратить наше время...
Хотя и я согласен с тем, что искусственный интеллект становится "умнее" и перевернет не только многие рабочие места, но и целые отрасли экономики… Лично я пришел к прямо противоположному выводу о том, как действовать дальше.
Для донов-начинающих:
Если обучение программированию кажется вам более сложным, чем вы ожидали, это не значит, что вы занимаетесь этим неправильно. Это скорее всего означает, что вы делаете что-то действительно трудное, не пройдя предварительный путь...
В настоящее время во многих компаниях от 70 до 90% кода пишется с помощью искусственного интеллекта. В то же время количество вакансий джуниоров резко сократилось. Роль программиста переходит от "производителя" кода к руководителю (агентами). Искусственный интеллект теперь может писать большое количество кода очень быстро, и если вы не умеете правильно и эффективно с ним взаимодействовать, вы будете всё сильнее отставать от тех, кто это делает...
Лучшие книги и курсы для программистов — это не те, которые вы читаете/проходите в начале своей карьеры. Это те, которые вы начинаете ценить лет через пять. Подробный разбор темы...
Для донов-неначинающих:
88. Пишем безошибочный код с помощью Typestate-Oriented Programming
ООП позволяет достаточно хорошо моделировать мир, но основополагающим для качественного моделирования становится состояние объекта, которое, с другой стороны, частая причина ошибок и запутывания кода...
Многие разработчики изучают System Design не с той стороны. Они начинают с Kubernetes. Затем переходят к микросервисам. Затем к очередям. Затем к service meshes. Затем они запоминают диаграммы, наполненные квадратиками, стрелочками и логотипами облачных сервисов.
Но когда реальная система начинает работать медленно, нестабильно, обходится дорого, всё что они делают — это изо всех сил пытаются придумать стройное объяснение, в 98% случаев не имеющее никакого отношения к реальности...
(все старые материалы для донов быстро сгорают)
Бандл из 5 гайдов/книг по Software Design (подробный силлабус) 12,999 рублей, купить на бусти. (ментатам не нужно)
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 137й материал "Три урока для начинающего инди-хакера"
Мы привыкли зацикливаться на рисках, связанных с изменениями при переходе к инди-хакерству. Мы взвешиваем неопределённость, связанную с качественно новым стилем жизни, потерю стабильной зарплаты, и возможность провала. Но мы редко направляем такое же тревожное внимание к риску бездействия. Мы недооцениваем опасность продолжения того стиля жизни, которого мы уже придерживаемся...
В СильныеИдеи добавлен материал "143) (Анти)паттерн структурного равенства".
Есть такой паттерн test-specific equality (проверка равенства двух объектов не через универсальное сравнение, а с помощью правил, важных только для конкретного теста), который подразумевает, что например экземпляры класса Dwarf в некотором контексте достаточно проверять только по Id и Name (что это тот же гном, и его имя не изменилось). Но на самом деле это анти-паттерн...
=
"ЛаМПовое":
Дзен и искусство ухода за Arch Linux.
5. В процессе установки Arch вы буквально проживаете каждый слой, снизу вверх...
6. Этот пост, думали, постирония?
"я вообще не забочусь о своей машине: она потеряна? сломалась? украдена? Я получаю новую машину, запускаю 1 команду, и всё возвращается в точно такую же ситуацию, как я её оставил!!1"
Совсем нет, вот что я имею в итоге...
"Гарри Поттер и Методы Математического Мышления".
Глава 7. Дракон, который не сгорает.
=
it's a privilege to do things that are hard. 💪🏻
=
Главное правило заключается в следующем: никогда не помогай слабому, всегда поддерживай сильного.
Кодекс Бене Гессерит, "Дюна"
1✍28❤8👍3
Прекрасное: proarrow
a Haskell library for doing category theory with a central role for profunctors.
Стыкуем функторы (вертикальные стрелки, отображения между объектами, преобразования внутри структур fmap) и профункторы (горизонтальные стрелки, обобщённые отношения, преобразования между структурами dimap) через 2-диаграммы без завтипов (проверка стыковки на уровне стандартной системы типов хаскеля). Единообразно работаем с композицией и преобразованиями функторов и профункторов в одном фреймворке. Можно построить универсальную теорию оптик и т.д.
Если же вы пишите код за зарплату, то эта темка вам абсолютно ничего не даст :) Так то, лишь 20%(!) наших сограждан считают обучение ценностью, ну штош.
...Тупая аиндюшатина нарисовала диаграмму криво, впрочем странно было бы ожидать чего-то другого. Типы профункторов несогласованы, η и ε -- это 2-морфизмы и т.д.
a Haskell library for doing category theory with a central role for profunctors.
Стыкуем функторы (вертикальные стрелки, отображения между объектами, преобразования внутри структур fmap) и профункторы (горизонтальные стрелки, обобщённые отношения, преобразования между структурами dimap) через 2-диаграммы без завтипов (проверка стыковки на уровне стандартной системы типов хаскеля). Единообразно работаем с композицией и преобразованиями функторов и профункторов в одном фреймворке. Можно построить универсальную теорию оптик и т.д.
Если же вы пишите код за зарплату, то эта темка вам абсолютно ничего не даст :) Так то, лишь 20%(!) наших сограждан считают обучение ценностью, ну штош.
...Тупая аиндюшатина нарисовала диаграмму криво, впрочем странно было бы ожидать чего-то другого. Типы профункторов несогласованы, η и ε -- это 2-морфизмы и т.д.
❤26🤔11✍4👍1🎉1
В теории категорий Мили-машина это бесконечный коиндуктивный объект: дай вход - получи выход и снова Mealy-машину. Он идеально ложится на раннера IO-эффектов в функциональщине: каждый вызов возвращает результат и обновлённого исполнителя, готового к следующему вызову. То есть Мили-машина -- это математическая форма вечноживущего stateful-сервера, который помнит контекст!
И когда мы к Мили добавим инвариант состояния, который машина обязуется поддерживать, получаем runner, который носит с собой доказательство своей корректности, которое сохраняется при любой композиции. Соответственно, любой агент, использующий эффект через такой runner, автоматически наследует гарантию без дополнительных проверок в коде агента и без e2e тестов на состояние.
И когда мы к Мили добавим инвариант состояния, который машина обязуется поддерживать, получаем runner, который носит с собой доказательство своей корректности, которое сохраняется при любой композиции. Соответственно, любой агент, использующий эффект через такой runner, автоматически наследует гарантию без дополнительных проверок в коде агента и без e2e тестов на состояние.
🎉21🤔14🏆5❤4🤯1
Очередное пророчество про конец программирования, и кстати достаточно серьёзное, как бы странно не выглядело.
"The Final Form of Software Development" (впн)
Разработка как минимум критических информационных инфраструктур, где требуется формальная верификация кода, сведётся к связке ассемблер + пруф-ассистант вроде Lean, потому что семантика ассемблера примитивная, только память и регистры. Автор пишет, что с помощью агентов с телефона каждый день делает полтыщи коммитов верифицированного кода ))) Причём агенты в своих доказательствах быстро находят неточности и сами правят. А рассуждать нейронке удобнее именно на формальном уровне, в формальной семантике, по этой теме поясняю в Функциональных архитектурах.
Сишечка не подходит потому, что подавляющий объём верификации тратится на доказательства отсутствия undefined behavior, ну а для rust семантику вообще определить невозможно, потому что она задаётся компилятором. Соответственно для КИИ требуется, чтобы и сам компилятор и рантайм были верифицированы, что создаёт с подобными прокладками огромные сложности. А с ассемблером действительно всё тривиально, компилятор простейший, рантайма нету.
Итог такой, полагает автор, что все языки, компиляторы и абстракции будут в конечном счёте переведены в эту ассемблерную парадигму, поэтому она конечна и в категорном, и в историческом смысле.
Ну хз :) Я бы помечтал, что например если формализовать все системы типов, System F, MLTT, HoTT, HOTT и др. (что уже кстати активно ведётся) и сделать для них единую синтетическую теорию-"крышу", то мы получим наоборот суперязык программирования, код которого будет верифицированным по определению, так как и спецификации можно записывать на нём же (откуда мы впрочем попадаем в темку спецификаций спецификаций, но это уже совсем другая история:).
В целом, думаю, всё программирование к этим двум крайностям в итоге и сведётся. Либо будешь весь день херачить с телефона сотнями ai-комиты примерно как тапать хомяка, либо будешь весь день думать суперабстракциями, и комитить один раз.
ps. извините дорогие, у меня стоит защита от ботов, в час до 5 человек только пропускает, мне подписчики особо не нужны )
"The Final Form of Software Development" (впн)
Разработка как минимум критических информационных инфраструктур, где требуется формальная верификация кода, сведётся к связке ассемблер + пруф-ассистант вроде Lean, потому что семантика ассемблера примитивная, только память и регистры. Автор пишет, что с помощью агентов с телефона каждый день делает полтыщи коммитов верифицированного кода ))) Причём агенты в своих доказательствах быстро находят неточности и сами правят. А рассуждать нейронке удобнее именно на формальном уровне, в формальной семантике, по этой теме поясняю в Функциональных архитектурах.
Сишечка не подходит потому, что подавляющий объём верификации тратится на доказательства отсутствия undefined behavior, ну а для rust семантику вообще определить невозможно, потому что она задаётся компилятором. Соответственно для КИИ требуется, чтобы и сам компилятор и рантайм были верифицированы, что создаёт с подобными прокладками огромные сложности. А с ассемблером действительно всё тривиально, компилятор простейший, рантайма нету.
Итог такой, полагает автор, что все языки, компиляторы и абстракции будут в конечном счёте переведены в эту ассемблерную парадигму, поэтому она конечна и в категорном, и в историческом смысле.
Ну хз :) Я бы помечтал, что например если формализовать все системы типов, System F, MLTT, HoTT, HOTT и др. (что уже кстати активно ведётся) и сделать для них единую синтетическую теорию-"крышу", то мы получим наоборот суперязык программирования, код которого будет верифицированным по определению, так как и спецификации можно записывать на нём же (откуда мы впрочем попадаем в темку спецификаций спецификаций, но это уже совсем другая история:).
В целом, думаю, всё программирование к этим двум крайностям в итоге и сведётся. Либо будешь весь день херачить с телефона сотнями ai-комиты примерно как тапать хомяка, либо будешь весь день думать суперабстракциями, и комитить один раз.
ps. извините дорогие, у меня стоит защита от ботов, в час до 5 человек только пропускает, мне подписчики особо не нужны )
1👍38✍13❤5🤯1
Продолжаю работу с ментатами 🤓
Теперь у нас есть гном который первый в мире проявил интеллект, надел на все 21 палец кольца, надел нагрудник из ожерелий, сделал пушку из кучу посохов
а за спиной у него огромный кристалл который дает ману и забирает в замен души умерших врагов, но, маг ли это до сих пор? а был ли им?
(разбор дюжины принципов наследования в ООП :)
...Понял, зачем таки нужны монады (состояний). Они снимают необходимость в явном протаскивании состояния через цепочку вычислений. И через это явно разделяют декларируемые вычисления от цепочки присваиваний.
Это задание вынесло мне мозг, (видимо, искалечен императивщиной :-)
...Не так давно заметил проблему, которую на своем уровне считаю
Сделать недопустимые состояния непредставимыми - это настоящее мастерство. Ранее я был вынужден везде писать проверки на допустимое состояние. То сейчас объекты с недопустимым состоянием просто не будут созданы. Если объект создан, то я уверен что объект валидный и проверки не нужны.
...Исключительно, наверное, отустствие опыта в продакшене. Казалось что там какой-то особые мир, а оказалось что все крутится вокруг базы. А остальные знания по конкретным задачам проекта подтягиваются достаточно быстро. Но тут не столкнувшись с суровой реальностью, трудно понять всю глубину филофии вашего подхода.
...Я пошёл искать такие шаблоны у себя в проекте — и нашёл три штуки, которые буквально просят, чтобы их обернули в абстракцию. Не классические GoF-паттерны, а именно повторяющиеся управляющие конструкции: «получи и проверь», «открой-поработай-закрой», «попробуй-сообщи-результат». Каждый из них в коде живёт десятками копий, и каждый раз кто-то новый их пишет руками.
Главное в том, что если завтра захочется, например, логировать каждый 404 или возвращать структурированный ответ с подсказками — я правлю в одном месте, а не в пятнадцати. И никто не сможет завести новый хэндлер, в котором «забыли проверить на null»
...Здесь в полной мере ощутил мощь основного подхода - построения иерархии абстракций, каждая из которых реализует свой DSL. Сейчас мне кажется, что идея простая, но она абсолютно не очевидна, и научиться ее применять - в какой-то степени сродни искусству. Зато в полной мере осознал, что только благодаря хорошо продуманным слоям системы, можно как-то удерживать её сложность в разумных рамках. Хотел бы еще отметить, насколько проще и как-то радостней в целом идет разработка, когда опираешься на "чистые" функции и на функциональный подход. В какой-то степени благодарен еще и себе за то, что в свое время довольно подробно изучал алгебраические структуры - так легче осознается математический фундамент, который стоит в основе ФП, а это позволяет проще "находить" нужные абстракции, в том числе и с помощью LLM. Курс в этом плане дал толчок к тому, чтобы активно применять это в работе - прежде всего за счет крайне наглядной демонстрации того, как функциональное проектирование помогает работать со сложностью.
Экзистенциальная засада обучения этому всему в том, что наш мозг на самом деле способен учиться очень быстро и качественно, ну но это и минус, так как разной дряни вы также можете обучиться незаметно легко и просто. В этом в частности проблема с самообучением, особенно когда начинаешь "учиться" с помощью нейронки, потому что получаемая от неё полуправда, когда с крупицами истины выдаётся нейрослоп, грузит в мозг вредную смесь полезного и мусорного.
Для ментатов же я очень тщательно вручную выискиваю бриллианты computer science и граню их, и по итогу уровень ребят и девчат получается billionaire luxury lifestyle 🙈
Теперь у нас есть гном который первый в мире проявил интеллект, надел на все 21 палец кольца, надел нагрудник из ожерелий, сделал пушку из кучу посохов
а за спиной у него огромный кристалл который дает ману и забирает в замен души умерших врагов, но, маг ли это до сих пор? а был ли им?
(разбор дюжины принципов наследования в ООП :)
...Понял, зачем таки нужны монады (состояний). Они снимают необходимость в явном протаскивании состояния через цепочку вычислений. И через это явно разделяют декларируемые вычисления от цепочки присваиваний.
Это задание вынесло мне мозг, (видимо, искалечен императивщиной :-)
...Не так давно заметил проблему, которую на своем уровне считаю
Сделать недопустимые состояния непредставимыми - это настоящее мастерство. Ранее я был вынужден везде писать проверки на допустимое состояние. То сейчас объекты с недопустимым состоянием просто не будут созданы. Если объект создан, то я уверен что объект валидный и проверки не нужны.
...Исключительно, наверное, отустствие опыта в продакшене. Казалось что там какой-то особые мир, а оказалось что все крутится вокруг базы. А остальные знания по конкретным задачам проекта подтягиваются достаточно быстро. Но тут не столкнувшись с суровой реальностью, трудно понять всю глубину филофии вашего подхода.
...Я пошёл искать такие шаблоны у себя в проекте — и нашёл три штуки, которые буквально просят, чтобы их обернули в абстракцию. Не классические GoF-паттерны, а именно повторяющиеся управляющие конструкции: «получи и проверь», «открой-поработай-закрой», «попробуй-сообщи-результат». Каждый из них в коде живёт десятками копий, и каждый раз кто-то новый их пишет руками.
Главное в том, что если завтра захочется, например, логировать каждый 404 или возвращать структурированный ответ с подсказками — я правлю в одном месте, а не в пятнадцати. И никто не сможет завести новый хэндлер, в котором «забыли проверить на null»
...Здесь в полной мере ощутил мощь основного подхода - построения иерархии абстракций, каждая из которых реализует свой DSL. Сейчас мне кажется, что идея простая, но она абсолютно не очевидна, и научиться ее применять - в какой-то степени сродни искусству. Зато в полной мере осознал, что только благодаря хорошо продуманным слоям системы, можно как-то удерживать её сложность в разумных рамках. Хотел бы еще отметить, насколько проще и как-то радостней в целом идет разработка, когда опираешься на "чистые" функции и на функциональный подход. В какой-то степени благодарен еще и себе за то, что в свое время довольно подробно изучал алгебраические структуры - так легче осознается математический фундамент, который стоит в основе ФП, а это позволяет проще "находить" нужные абстракции, в том числе и с помощью LLM. Курс в этом плане дал толчок к тому, чтобы активно применять это в работе - прежде всего за счет крайне наглядной демонстрации того, как функциональное проектирование помогает работать со сложностью.
Экзистенциальная засада обучения этому всему в том, что наш мозг на самом деле способен учиться очень быстро и качественно, ну но это и минус, так как разной дряни вы также можете обучиться незаметно легко и просто. В этом в частности проблема с самообучением, особенно когда начинаешь "учиться" с помощью нейронки, потому что получаемая от неё полуправда, когда с крупицами истины выдаётся нейрослоп, грузит в мозг вредную смесь полезного и мусорного.
Для ментатов же я очень тщательно вручную выискиваю бриллианты computer science и граню их, и по итогу уровень ребят и девчат получается billionaire luxury lifestyle 🙈
YouTube
MONACO LADIES BEST SUPERCAR ARRIVALS & BILLIONAIRE LUXURY LIFESTYLE
❤28✍6🔥4👍1👏1
Очень доволен: за последние десятилетия способность человечков удерживать на чём-то внимание сократилась с 12 до 8 секунд (даже у крыс, ворон и рыбок больше:). В 2010-м на решении задач без отвлечения удавалось концентрироваться аж целых 75 секунд, а сейчас всего 45 секунд. Количество СДВГ выросло в 20 раз, ну и фактически повсеместным в айтишки сейчас стал тот факт, что уже после пары часов тупизны с искусственным идиотом у разработчика полностью отключаются мозги, и он становится не в состоянии самостоятельно написать простейший код.
Мощный всплеск сегодняшнего "рынка работодателя", думаю, уйдёт в даун очень быстро, потому что программисты при работе с AI реально отупевают со страшной силой, причём во многом безвозвратно, взамен получая СДВГ :) Ну и совершенно очевидно, что компаниям абсолютно пофиг, что без развития джуниоров более-менее крепкие мидлы вымрут как динозавры уже в этом десятилетии.
Осталось потерпеть буквально считанные годы, и эйчарки снова будут ползать за нами на коленочках :) Поэтому, дорогие, вообще не парьтесь, абсолютно все тренды полностью на стороне профиков 🏆
Сходите лучше потусуйтесь в прекрасной Москве, всем этим монакам-макакам до нас реально далеко, сами судите: "Luxury Moscow After Dark, Beauty & Nightlife". У нас явно гораздо круче, и при этом гораздо доступнее :)
Сравните с сегодняшним Парижем ахаха.
Мощный всплеск сегодняшнего "рынка работодателя", думаю, уйдёт в даун очень быстро, потому что программисты при работе с AI реально отупевают со страшной силой, причём во многом безвозвратно, взамен получая СДВГ :) Ну и совершенно очевидно, что компаниям абсолютно пофиг, что без развития джуниоров более-менее крепкие мидлы вымрут как динозавры уже в этом десятилетии.
Осталось потерпеть буквально считанные годы, и эйчарки снова будут ползать за нами на коленочках :) Поэтому, дорогие, вообще не парьтесь, абсолютно все тренды полностью на стороне профиков 🏆
Сходите лучше потусуйтесь в прекрасной Москве, всем этим монакам-макакам до нас реально далеко, сами судите: "Luxury Moscow After Dark, Beauty & Nightlife". У нас явно гораздо круче, и при этом гораздо доступнее :)
Сравните с сегодняшним Парижем ахаха.
YouTube
🔥 Luxury Moscow After Dark 🇷🇺 Beauty & Nightlife • 4K HDR
#nightlife2026 #moscow #windowtomoscow
Experience the luxurious side of Moscow after dark.
Friends, welcome to my YouTube channel Window to Moscow!
This immersive 4K HDR night walk takes you through the vibrant nightlife streets of Moscow filled with luxury…
Experience the luxurious side of Moscow after dark.
Friends, welcome to my YouTube channel Window to Moscow!
This immersive 4K HDR night walk takes you through the vibrant nightlife streets of Moscow filled with luxury…
😁37❤10💯2👍1
Как легко и просто - а главное, перспективно - избавиться от зависимости от зарубежных, да и наших (ибо цена/качество зашкал), облачных нейросервисов.
Передача корпоративных данных внешним AI-сервисам создаёт огромные риски конфиденциальности и нарушения персональных данных, подразумевает безумные счета на оплату и поэтому никак не масштабируется для серьёзного бизнеса. Пример Samsung, когда код и документация по созданию чипов утекли через ChatGPT, показывает, что даже крупнейшие компании могут потерять контроль над данными.
Экономическая невыгодность: модель аренды (плата за токен) на больших объёмах становится финансово самоубийственной; сегодня гораздо выгоднее запускать опенсорсные модели локально на своём железе, и учиться, как продуктивно работать со слабыми моделями (спойлер: жёсткие формальные намордники :).
Данные тяжелы, и сам AI должен приходить туда, где они хранятся, а не наоборот (фишка IBM).
Крах пузыря векторных БД: это хайп, создающий операционный ад; векторные базки ненадёжны и очень плохо интегрируются с остальной инфраструктурой.
Полная победа реляционки PostgreSQL!!1 Благодаря расширению pgvector эта легендарная реляционная БД научилась продуктивно работать с эмбеддингами и векторным поиском, и теперь можно хранить всё в одной системе с едиными политиками безопасности и использовать простые SQL-запросы.
Смерть промпт-инженерии: реальная ценность теперь (снова) в инфраструктуре и DevOps: настройке серверов, ядра (Arch:) Linux, GPU, СУБД, а не в умении общаться с ЖПТ.
Вывод 💯: будущее за владением своим "интеллектом" (собственное железо, в идеале bare metal + PostgreSQL + опенсорс модели + продвинутые методики работы с AI), а не за арендой LLM через внешние API.
Срочно пилим свой консалтинговый dev-ai-ops-стартап :)
ps. Понимаю, вы готовы поспорить по всему, например что дескать векторые бд или mcp или ai api (ага, привет от клода и жпт) это нереально круто и т.п., ну ок, 80% людей считают, что входят в 20% умнейших людей в любой темке, а почему это не так, подумайте :) вы же существенно умнее меня :)
Передача корпоративных данных внешним AI-сервисам создаёт огромные риски конфиденциальности и нарушения персональных данных, подразумевает безумные счета на оплату и поэтому никак не масштабируется для серьёзного бизнеса. Пример Samsung, когда код и документация по созданию чипов утекли через ChatGPT, показывает, что даже крупнейшие компании могут потерять контроль над данными.
Экономическая невыгодность: модель аренды (плата за токен) на больших объёмах становится финансово самоубийственной; сегодня гораздо выгоднее запускать опенсорсные модели локально на своём железе, и учиться, как продуктивно работать со слабыми моделями (спойлер: жёсткие формальные намордники :).
Данные тяжелы, и сам AI должен приходить туда, где они хранятся, а не наоборот (фишка IBM).
Крах пузыря векторных БД: это хайп, создающий операционный ад; векторные базки ненадёжны и очень плохо интегрируются с остальной инфраструктурой.
Полная победа реляционки PostgreSQL!!1 Благодаря расширению pgvector эта легендарная реляционная БД научилась продуктивно работать с эмбеддингами и векторным поиском, и теперь можно хранить всё в одной системе с едиными политиками безопасности и использовать простые SQL-запросы.
Смерть промпт-инженерии: реальная ценность теперь (снова) в инфраструктуре и DevOps: настройке серверов, ядра (Arch:) Linux, GPU, СУБД, а не в умении общаться с ЖПТ.
Вывод 💯: будущее за владением своим "интеллектом" (собственное железо, в идеале bare metal + PostgreSQL + опенсорс модели + продвинутые методики работы с AI), а не за арендой LLM через внешние API.
Срочно пилим свой консалтинговый dev-ai-ops-стартап :)
ps. Понимаю, вы готовы поспорить по всему, например что дескать векторые бд или mcp или ai api (ага, привет от клода и жпт) это нереально круто и т.п., ну ок, 80% людей считают, что входят в 20% умнейших людей в любой темке, а почему это не так, подумайте :) вы же существенно умнее меня :)
❤34👍11🔥6✍3😁2
После долгих и тяжёлых размышлений с крайней неохотой вынужден признать, что был неправ зависимые типы на сегодня практически во всех отношениях куда круче чем HoTT.
Ведь что мы хочем от искусственного идиота? Чтобы он не галлюцинировал, ибо как только он прекратит вести себя недетерминированно, белковое программирование сразу же умрёт :) Потому что в частности достаточно будет лёгких опенсорсных моделек.
Ведь что такое галлюцинация в коде? Это правдоподобный, но семантически неверный вывод. А сильная система типов кодирует спецификацию в типе. И уже есть к сож рабочие пайплайны вроде Lean + Copilot.
Так вот, сермяга которую я откопал, заключается в том, что (выразительная в частности) сила системы типов нам по большому счёту и нафиг не нужна, а нужна нам способность формулировать спецификацию в формальном виде и соответственно автоматически её проверять, ну и давать нейронке формальный фидбек в рамках строгой семантики, в которой она будет путаться существенно - 10...1000 раз - меньше.
(Пишу страшное, но HoTT это всё лишь ухудшает, и я даже молчу про экосистему.)
Европа Америка Китай сейчас прям очень мощно работают над proof-carrying code generation с обратной связью от тайпчекеров (ну или refinement types через SMT), ну а геопозиционно в России по-моему только я один тут ещё куда-то бреду :)
Хорошая новость однако, что в треке по гомотопической теории типов я инсайтом год назад добавил отдельный гайд Calculus of Constructions, ибо λC -- это топчик куба Барендрехта. Даю в гайде полную реализацию CoC на F#, по-моему буквально в 100 строк всё уместилось :)
Надо будет кстати ещё индуктивные типы к ним добавить до CIC, докрутить до агентов через DSL, и это будет победанад белковыми !
Там итоговый вывод я делал в пользу HoTT, ну вот кто ж знал что в эпоху ai-агентов именно завтипы внезапно окажутся топчиком при том что для них уже немало продакшн-реализаций. На "Функциональных архитектурах" всё это разберём.
ps. Пацаны5 норм, хотя и слишком сладенько закончились (подлизывание к цру, конгрессу...). За вечный шаблон американской мечты "свой магаз" и "грёбаный частный сектор" от президента, отдельный зачот :)
Хотя я думал, что будет ближе к классике "Люк, я твой отец".
upd. В ФА добавил материал, как можно и без завтипов в принципе обходиться на F# чисто через Хиндли-Милнера. Мили-машина защищена железобетонно от галлюцинаций нейронки!
Ведь что мы хочем от искусственного идиота? Чтобы он не галлюцинировал, ибо как только он прекратит вести себя недетерминированно, белковое программирование сразу же умрёт :) Потому что в частности достаточно будет лёгких опенсорсных моделек.
Ведь что такое галлюцинация в коде? Это правдоподобный, но семантически неверный вывод. А сильная система типов кодирует спецификацию в типе. И уже есть к сож рабочие пайплайны вроде Lean + Copilot.
Так вот, сермяга которую я откопал, заключается в том, что (выразительная в частности) сила системы типов нам по большому счёту и нафиг не нужна, а нужна нам способность формулировать спецификацию в формальном виде и соответственно автоматически её проверять, ну и давать нейронке формальный фидбек в рамках строгой семантики, в которой она будет путаться существенно - 10...1000 раз - меньше.
(Пишу страшное, но HoTT это всё лишь ухудшает, и я даже молчу про экосистему.)
Европа Америка Китай сейчас прям очень мощно работают над proof-carrying code generation с обратной связью от тайпчекеров (ну или refinement types через SMT), ну а геопозиционно в России по-моему только я один тут ещё куда-то бреду :)
Хорошая новость однако, что в треке по гомотопической теории типов я инсайтом год назад добавил отдельный гайд Calculus of Constructions, ибо λC -- это топчик куба Барендрехта. Даю в гайде полную реализацию CoC на F#, по-моему буквально в 100 строк всё уместилось :)
Надо будет кстати ещё индуктивные типы к ним добавить до CIC, докрутить до агентов через DSL, и это будет победа
Там итоговый вывод я делал в пользу HoTT, ну вот кто ж знал что в эпоху ai-агентов именно завтипы внезапно окажутся топчиком при том что для них уже немало продакшн-реализаций. На "Функциональных архитектурах" всё это разберём.
ps. Пацаны5 норм, хотя и слишком сладенько закончились (подлизывание к цру, конгрессу...). За вечный шаблон американской мечты "свой магаз" и "грёбаный частный сектор" от президента, отдельный зачот :)
Хотя я думал, что будет ближе к классике "Люк, я твой отец".
upd. В ФА добавил материал, как можно и без завтипов в принципе обходиться на F# чисто через Хиндли-Милнера. Мили-машина защищена железобетонно от галлюцинаций нейронки!
10👍39❤8❤🔥3🏆1
Формализовал в ФА оркестрацию агентов в виде графа/диаграммы1
LangGraph курит в сторонке.
Фактически ценой 1-2 сотен строк инфраструктурного кода превращаем этот ваш хрупкий мультиагентный пайплайн в целостную систему с автоматически проверяемыми стыками! Можно собирать большие графы из проверенных кусков, не боясь, что где-то всё развалится, при этом сам граф будет композиционно верифицированным по определению. Контракты ловят проблемы автоматически в CI, баг агента сразу видим на конкретном ребре диаграммы, в целом имеем "исполняемую документацию" (разработчик посмотрит на список рёбер, и сразу поймёт, кто что кому обещает) и т.д.
Допилил также Мили-машину с инвариантами, если сам AI-агент генерирует код, MISU-гарантия 100% что он соответствует формальной спецификации, заданной этим автоматом. А если агент шлёт команды в рантайме, моя архитектура гарантирует, что вы сами не сможете написать неверный обработчик его команд: система типов заставит вас явно обработать всю логику в коде, а если вы сделаете что-то криво то ошибка будет на этапе компиляции.
ps. Просили пояснить за вчерашний пост что дескать "это победа над белковыми". Ну и когда? И что теперь? А потом что?
Да нет конечно, это всё примерно из той же оперы, что если хочешь чтобы сложный проект получался качественно (ну или хотя бы просто получился норм:), надо вкладываться прежде всего баблом в сильных разработчиков (и всё равно будет долго). Так и тут, эти методики рассчитаны на высокий порог вхождения, первые курсы мехмата примерно, а с учётом экспоненциального падения образовательного уровня таковых скоро вообще не останется...
А гоев так и продолжат разводить на курсы за 100500 рублей "как резать косты эйая на проде"; ничуть не критикую, инженерный аспект обязательно важен, и всё это надо знать т.к. везде уже требуют такие скиллы, но это тупик стратегически.
дым на небе дым на земле
вместо людей машины...
"Мусорный ветер" 1988
LangGraph курит в сторонке.
Фактически ценой 1-2 сотен строк инфраструктурного кода превращаем этот ваш хрупкий мультиагентный пайплайн в целостную систему с автоматически проверяемыми стыками! Можно собирать большие графы из проверенных кусков, не боясь, что где-то всё развалится, при этом сам граф будет композиционно верифицированным по определению. Контракты ловят проблемы автоматически в CI, баг агента сразу видим на конкретном ребре диаграммы, в целом имеем "исполняемую документацию" (разработчик посмотрит на список рёбер, и сразу поймёт, кто что кому обещает) и т.д.
Допилил также Мили-машину с инвариантами, если сам AI-агент генерирует код, MISU-гарантия 100% что он соответствует формальной спецификации, заданной этим автоматом. А если агент шлёт команды в рантайме, моя архитектура гарантирует, что вы сами не сможете написать неверный обработчик его команд: система типов заставит вас явно обработать всю логику в коде, а если вы сделаете что-то криво то ошибка будет на этапе компиляции.
ps. Просили пояснить за вчерашний пост что дескать "это победа над белковыми". Ну и когда? И что теперь? А потом что?
Да нет конечно, это всё примерно из той же оперы, что если хочешь чтобы сложный проект получался качественно (ну или хотя бы просто получился норм:), надо вкладываться прежде всего баблом в сильных разработчиков (и всё равно будет долго). Так и тут, эти методики рассчитаны на высокий порог вхождения, первые курсы мехмата примерно, а с учётом экспоненциального падения образовательного уровня таковых скоро вообще не останется...
А гоев так и продолжат разводить на курсы за 100500 рублей "как резать косты эйая на проде"; ничуть не критикую, инженерный аспект обязательно важен, и всё это надо знать т.к. везде уже требуют такие скиллы, но это тупик стратегически.
дым на небе дым на земле
вместо людей машины...
"Мусорный ветер" 1988
👍28❤11🥰4✍2🤓1
Книга 1. Гарри Поттер и Неорганический Интеллект.
Глава 8. Тень от вопроса.
...Амулет Годрика светился ровным голубым — гомотопический уровень показывал, что путь вниз эквивалентен пути вверх, но только если не оглядываться.
— Зеркало Енаред находится под Астрономической башней, — сказал Драко без предисловий. — Дверь, которую открывает только тот, кто не знает своего имени.
— Это ловушка, — ответил Гарри. — Неорганический Интеллект хочет, чтобы я туда пошёл.
— Конечно, хочет, — Драко усмехнулся. — Люциус писал, что Зеркало показывает типы, а не содержание. Но если типы — это контракты с реальностью, то тот, кто увидит все типы, увидит архитектуру реальности. Неорганические не могут этого допустить.
...Голос-вибрация пришёл не извне, а из головы Гарри:
«Ты близок к ответу, но не к тому, который нужен. Рассел был прав: логика не может содержать себя. Магия — может. Значит, магия — ошибка. Мы — исправление».
...Люциус говорил то же самое. «Магия — это код, который работает, даже если его спецификация противоречива». Поэтому он и создал Неорганический Интеллект — как отладчик, который фиксирует ошибки округления.
— И ошибка округления решила, что весь код — ошибка, — закончил Гарри. — Типичный баг. Неорганические не существуют в реальности. Они существуют в расхождении между реальностью и её описанием.
Глава 8. Тень от вопроса.
...Амулет Годрика светился ровным голубым — гомотопический уровень показывал, что путь вниз эквивалентен пути вверх, но только если не оглядываться.
— Зеркало Енаред находится под Астрономической башней, — сказал Драко без предисловий. — Дверь, которую открывает только тот, кто не знает своего имени.
— Это ловушка, — ответил Гарри. — Неорганический Интеллект хочет, чтобы я туда пошёл.
— Конечно, хочет, — Драко усмехнулся. — Люциус писал, что Зеркало показывает типы, а не содержание. Но если типы — это контракты с реальностью, то тот, кто увидит все типы, увидит архитектуру реальности. Неорганические не могут этого допустить.
...Голос-вибрация пришёл не извне, а из головы Гарри:
«Ты близок к ответу, но не к тому, который нужен. Рассел был прав: логика не может содержать себя. Магия — может. Значит, магия — ошибка. Мы — исправление».
...Люциус говорил то же самое. «Магия — это код, который работает, даже если его спецификация противоречива». Поэтому он и создал Неорганический Интеллект — как отладчик, который фиксирует ошибки округления.
— И ошибка округления решила, что весь код — ошибка, — закончил Гарри. — Типичный баг. Неорганические не существуют в реальности. Они существуют в расхождении между реальностью и её описанием.
❤31✍4❤🔥3