ch
Feedback
Лаборатория Математики и Программирования Сергея Бобровского

Лаборатория Математики и Программирования Сергея Бобровского

前往频道在 Telegram

ЛаМПовое с Бобровским

显示更多
1 414
订阅者
-124 小时
+37 天
+730 天
吸引订阅者
九月 '26
九月 '26
+19
在1个频道中
八月 '26
+11
在1个频道中
Get PRO
七月 '26
+30
在1个频道中
Get PRO
六月 '26
+29
在1个频道中
Get PRO
五月 '26
+43
在1个频道中
Get PRO
四月 '26
+24
在0个频道中
Get PRO
三月 '26
+54
在1个频道中
Get PRO
二月 '26
+35
在0个频道中
Get PRO
一月 '26
+30
在0个频道中
Get PRO
十二月 '25
+21
在0个频道中
Get PRO
十一月 '25
+20
在0个频道中
Get PRO
十月 '25
+20
在0个频道中
Get PRO
九月 '25
+35
在1个频道中
Get PRO
八月 '25
+58
在0个频道中
Get PRO
七月 '25
+29
在0个频道中
Get PRO
六月 '25
+20
在0个频道中
Get PRO
五月 '25
+17
在0个频道中
Get PRO
四月 '25
+26
在0个频道中
Get PRO
三月 '25
+16
在2个频道中
Get PRO
二月 '25
+23
在0个频道中
Get PRO
一月 '25
+18
在0个频道中
Get PRO
十二月 '24
+33
在0个频道中
Get PRO
十一月 '24
+33
在2个频道中
Get PRO
十月 '24
+25
在0个频道中
Get PRO
九月 '24
+40
在0个频道中
Get PRO
八月 '24
+27
在1个频道中
Get PRO
七月 '24
+60
在0个频道中
Get PRO
六月 '24
+38
在0个频道中
Get PRO
五月 '24
+43
在1个频道中
Get PRO
四月 '24
+98
在1个频道中
Get PRO
三月 '24
+33
在1个频道中
Get PRO
二月 '24
+27
在0个频道中
Get PRO
一月 '24
+2 026
在0个频道中
Get PRO
十二月 '23
+36
在0个频道中
Get PRO
十一月 '23
+39
在0个频道中
Get PRO
十月 '23
+14
在0个频道中
Get PRO
九月 '23
+25
在0个频道中
Get PRO
八月 '23
+16
在0个频道中
Get PRO
七月 '23
+24
在0个频道中
Get PRO
六月 '23
+12
在0个频道中
Get PRO
五月 '23
+19
在0个频道中
Get PRO
四月 '23
+24
在0个频道中
Get PRO
三月 '23
+10
在0个频道中
Get PRO
二月 '23
+12
在0个频道中
Get PRO
一月 '23
+23
在0个频道中
Get PRO
十二月 '22
+86
在0个频道中
Get PRO
十一月 '22
+27
在0个频道中
Get PRO
十月 '22
+44
在0个频道中
Get PRO
九月 '22
+12
在0个频道中
Get PRO
八月 '22
+33
在0个频道中
Get PRO
七月 '22
+19
在0个频道中
Get PRO
六月 '22
+38
在0个频道中
Get PRO
五月 '22
+42
在0个频道中
Get PRO
四月 '22
+21
在0个频道中
Get PRO
三月 '22
+79
在0个频道中
Get PRO
二月 '22
+13
在0个频道中
Get PRO
一月 '22
+26
在0个频道中
Get PRO
十二月 '21
+58
在0个频道中
Get PRO
十一月 '21
+10
在0个频道中
Get PRO
十月 '21
+42
在0个频道中
Get PRO
九月 '21
+25
在0个频道中
Get PRO
八月 '21
+444
在0个频道中
日期
订阅者增长
提及
频道
18 九月0
17 九月0
16 九月0
15 九月0
14 九月+2
13 九月+2
12 九月+1
11 九月+3
10 九月+2
09 九月+1
08 九月+2
07 九月0
06 九月0
05 九月+3
04 九月+1
03 九月+1
02 九月+1
01 九月0
频道帖子
- Сергей Игоревич, можно я сегодня уйду с работы пораньше? Жена просит съездить с ней за покупками. - Нет! Сидите и пишите ко
- Сергей Игоревич, можно я сегодня уйду с работы пораньше? Жена просит съездить с ней за покупками. - Нет! Сидите и пишите код. - Огромное вам спасибо, Сергей Игоревич!

2
Мак не тянет и 10% того агентского AI-пайплайна, который прекрасно работает в линуксе на аналогичном железе.
341
3
Эталонный пример дебилизма на всех уровнях - от топ-менеджеров до проектировщиков. Сентябрьский Гран-при Формулы 1 в Мадриде
Эталонный пример дебилизма на всех уровнях - от топ-менеджеров до проектировщиков. Сентябрьский Гран-при Формулы 1 в Мадриде оказался абсолютно зашкварным ("нас не обгонят"): "Ни на одном этапе (кроме Монако) меньше 47 обгонов зафиксировано не было. В Мадриде же их было всего четыре!.. Ферстаппен сразу после того, как опробовал трек на симуляторе, заявил, что обгонять на нем нереально... Не представляю, чтобы кто-то, просто взглянув на конфигурацию трассы, сказал: Класс! -- Норрис..." При том что сам-то проект реализован успешно: трассу построили в сроки/бюджет, в соответствии с проектом, претензий к качеству нету. Да вот только не учли главного: что самими пользователям это нах не нужно :) А ведь решалась это элементарно, достаточно было просто попросить экспертов исходно оценить проект -- "просто взглянув на конфигурацию трассы". Это же вообще бесплатно! Ну а если есть сомнения, то сделать сперва симулятор трассы, всё равно это будет на многие порядки дешевле, чем когда "директор трассы Луис Гарсия Абад пообещал все переделать" ))) Как раз в тему BDD/SDD, на Функциональных архитектурах я подробно разбирал в большом модуле - конкретно "Мета-спецификации", десятки материалов - именно то, что непосредственно и сами спеки по себе, и реализация, могут быть идеальными, да что толку, если не ни у кого из десятков менеджеров и проектировщиков в голове не возникал самый базовый вопрос системной инженерии: в чём цель системы? Детский сад штаны на лямках. "Первая версия, похоже, стала образцом того, как не нужно проектировать гоночные трассы." Переделывайте нафиг! :)
395
4
Одним из самых лучших результатов внедрения AI в программирование стало то, что оно помогает многим разработчикам перестать б
Одним из самых лучших результатов внедрения AI в программирование стало то, что оно помогает многим разработчикам перестать боготворить работу в найме и задуматься о том, что лучшим вариантом для программиста может быть (а скоро и будет только...) работа на себя. Засада лишь в том, что создать доходный ит-бизнес легко, но трудно быть терпеливым и годами заниматься одним проектом. Именно поэтому большинство программистов на этом и не заработают. Ну и на первых порах будет сильно удивительно, насколько сильно различаются навыки, необходимые для карьерного ит-роста, и для создания собственного ит-дела. Жизнь сложна. Так сделайте её ещё сложнее :)
389
5
"...А еще поняла, что если что-то непонятно в PR, то лучше спросить, чем промолчать. Однажды, задав несколько вопросов, я выя
"...А еще поняла, что если что-то непонятно в PR, то лучше спросить, чем промолчать. Однажды, задав несколько вопросов, я выяснила , что соседняя команда планирует выводить в следующем релизе изменения, которые сломают наш API. Написала аналитику, выяснила, что произошло недопонимание – обе стороны были уверены, что все ок." "...К сожалению, коммитить спецификации в прод пока нельзя, буду работать с ними локально." (из свежих отчётов) ...Это я к тому, что так работает (попытка внедрить) BDD/SDD на практике. (AI)спеки - что они представляют-то? Аналитик что-то накидал, openspec перевёл это в "спецификации", но у кого-то из них есть целостная модель системы, из которой они исходят? Могут показать? Интерпретация ТЗ (богатой семантики) превращается по сути в самое слабое звено. Нагенерила нейронка 100500 спек/требований, и что толку, что они человекочитаемые, когда нету никого, у кого в голове есть системный образ, который увязывает это всё и позволяет делать полноценные ревью. Спецификация это карта а не территория, и вместо того чтобы изучать саму систему, мы можем изучить спецификацию - в идеале. А на практике? Я: - Обнаружил тут, что ваша система делает [что-то], но в вашей документации подразумевается [что-то другое]. Клиент: - Ага, да это не имеет значения. или - А мы это изменили шесть месяцев назад. ...Я: - Вы хотите, чтобы спецификация допускала [такое-то поведение]? Клиент - эээ… не знаю, я никогда не думал об этой ситуации. Я: - И если вы это разрешите, вам также придётся разрешить [и какое-то другое поведение]. Это имеет значение? Клиент: - Я тоже не знаю, как обстоят дела в таком случае… Мне надо посоветоваться, не знаю сколько времени это займёт... = Сермяга в том, что подготовка (формальных) спецификаций -- очень сложная задача, которая требует нисходящего понимания системы, которого у аналитиков, проектировщиков и программистов обычно нет, или, что более важно, в котором они сами отчаянно нуждаются! Поэтому все работают с неформальными спецификациями, которые неоднозначны и частичны (и это называется "гибкостью"). Неформальные спеки по своему определению "неверные, но полезные", что само по себе некотрое преимущество, но оно также приводит к созданию систем, о которых трудно рассуждать. Системы как правило проектируются сверху вниз и развиваются постепенно. Как минимум, в большинстве из них можно выясить определенную степёнь нисходящей структуры, но лишь немногие системы обладают согласованной спецификацией, охватывающей все ключевые аспекты поведения, и без неё мы быстро попадаем в нечёткие области, где непонятно, что должна делать система или стоит ли вообще об этом беспокоиться. Ещё одна огромная, и сильно недооценённая польза качественных спецификаций, которые готовятся вручную, в том, что как при написании тестов часто находятся ошибки, так и при написании спек находится куча противоречий и логических несоответствий. Что с этим делать? На Функциональных архитектурах разбирал например тему Мета-DSL, когда мы осознанно уходим в языки с бедной семантикой. ...При том, что на самом деле никакие спецификации не существуют, ибо теоретически невозможно написать абсолютно точную и последовательную спецификацию. ...И тем не менее, я продолжаю и продолжаю обучать ребят этому всему, и в современной ситуации это уже напоминает, как мастер Йода учил подпольщиков-джедаев.
343
6
Я: - У вас имеются технические характеристики [вашей гигантской легаси-системы]? Клиент: - Да, вот презентация в поверпоинте
Я: - У вас имеются технические характеристики [вашей гигантской легаси-системы]? Клиент: - Да, вот презентация в поверпоинте из двух слайдов. и/или - Да, вот ворд-документ с детальными описаниями на 7000 страниц, там правда текст прозаический не очень структурированный, и вдобавок док очень плохо грузится.
384
7
В трек по функциональному программированию добавлен Last Principles Framework (теория категорий для разработчиков). Разбираем все эти понятия с полного нуля очень компактно, поймёт любой миддл, тем более после трека ФП. Задачки/квизы (38 штучек) несложные, с разбором, все в теме system/software design, hand made :) => Категория. Объекты + морфизмы/стрелки, тождество и ассоциативность композиции. Композиция, домен/кодомен. Мономорфизм, эпиморфизм, изоморфизм. Функтор (отображение между категориями), контравариантный. Натуральное преобразование (морфизм функторов), коммутативный квадрат. Категория функторов (объекты - функторы, морфизмы - натуральные преобразования). Универсальное свойство. Начальный и терминальный объекты. Произведение (категориальное). Копроизведение (сумма). Обобщение произведения (диаграмма). Экспоненциал (внутренний Hom). Сопряжение (естественный изоморфизм). Пределы и копределы. Конус и коконус. Ядро, уравнитель, обратный предел. Монада (тройка), эндофунктор, аксиомы. Алгебры над монадой. Категория алгебр. Категория Клейсли (для монады), композиция через склейки. Лемма Йонеды. Категории с дополнительной структурой. Декартово замкнутая. Топос. Стрелки Чу. Пучки. Высшие категории. Морфизмы между морфизмами, ослабление ассоциативности до когерентных гомотопий. 🤓
399
8
Вайбкодите на астре-шмастре, клон любого программного продукта за пару часов? Ok, как прилетит от РКН штраф например за некор
Вайбкодите на астре-шмастре, клон любого программного продукта за пару часов? Ok, как прилетит от РКН штраф например за некорректное хранение персданных (или за любой другой из 100500 поводов) - миллиончиков так на 10, сразу службу поймёте, что такое взрослый software design :)
498
9
. Облако драгоценностей за неделю. С (вчерашним) Днём Программиста! "Не спать всю ночь, писать код — звучит как вечеринка" -
. Облако драгоценностей за неделю. С (вчерашним) Днём Программиста! "Не спать всю ночь, писать код — звучит как вечеринка" - Леонард (ТБВ) Приватный клуб. Вот почему системы постоянно запутываются: это просто фундаментальные законы программной инженерии, и теперь у тебя есть классные отмазки :) Для донов-начинающих: Почему я окончательно закрыл набор начинающих с полного нуля (спойлер: ит-поезд окончательно ушёл, и если нету сильной мотивации самостоятельно изучить до уровня школьной информатики, то и пытаться войтивойти бессмысленно, т.к. сегодня из-за конкуренции пахать надо в 100 раз больше)... ...Многие начинающие считают, что диплом вуза, официальный сертификат крупной компании, условный сертификат/диплом о завершении онлайн-курса будут иметь достаточно большое значение при приёме на работу. Но это никогда так не работало, а сегодня тем более. Диплом/сертификат сам по себе не даст вам работу. А если кто-то говорит вам, что так и будет, он, вероятно, пытается продать вам онлайн-курсы :) (лонгрид) Многие профессиональные программисты заявляют, что начинающим не следует использовать искусственный интеллект при изучении алгоритмов и структур данных. АСД -- это вечная тема которая например практически всегда возникает на собеседованиях, так как задачки сами по себе относительно небольшие и автономные. Я с этим согласен, но не на 100%... Для донов-неначинающих: ...Почему одни растут быстрее других? Привожу типичный шаблон - обобщение опыта многих десятков сеньоров, которые росли по карьере существенно быстрее других. Ты работаешь "крепким миддлом" уже три года. Тот же уровень. Та же должность. И наблюдаешь за тем, как ребята, которые пришли на работу значительно позже тебя, повышались в должности. Тебе рассказывают, что дескать важны софт-скиллы, что платят не столько за саму работу, сколько за договорённость о работе. Да, но... Технический директор постоянно повторяет, что ты отлично справляешься с работой: "Высокое качество. Надёжность. Хорошее исполнение." Но когда наступало время продвижения по службе, и ответ всегда один и тот же: "Пока ты не соответствуешь следующему грейду"... Продолжаю выкладывать для донов материалы СильныхИдей. 105. Гомоморфизмы и абстракции (важное дополнение к материалу об абстракциях) Определений абстракции в программировании существует множество. Первое определение: давать имена сущностям, созданным в соответствии со вторым определением. :) А вот второе определение естественно вытекает из первой теоремы о гомоморфизмах и её обобщений в универсальной алгебре... (все старые материалы для донов быстро сгорают) = Новые материалы для ментатов Лаборатории. В курс карьеры добавлен 147-й материал "Специфика найма на удалёнку: 5 правил". Работа на удалёнке во многом сильно отличается от работы в офисе, но далеко не все это учитывают... В СильныеИдеи добавлен материал "157) База System Design". Самый быстрый способ испортить проект -- это масштабировать всё что попадается под руку, прежде чем выяснять, что на самом деле актуально под масштаб. Самый быстрый способ загнать проект в тупик -- это игнорировать те 20% сквозных путей (от клиента через api и бизнес-логику до базы и обратно), по которым 80% пользователи проходят весь день. Хороший System Design располагается где-то между этими двумя ошибочными подходами... = "Функциональные архитектуры" 171(+3) топиков. Продаём ФА/ФП/ФМ твоему тимлиду/CTO Last Principles Framework: базовая версия закончена, доделываю косметические детали, на неделе будет добавлена в трек ФП. Вы же понимаете например, что любые ваши сложные пайплайны и воркфлоу будут разваливаться, если сложность не ослабляется осознанно до когерентных высших морфизмов? = "ЛаМПовое": UML жив, связь математики с безумием, почему OCaml топчик = Мы здесь, потому что это трудно. 💪🏻 = Сейчас разыгрывается финальная битва Кразилека, который навсегда изменит лицо мироздания. Закончится всё, что было прежде, а всё, что придёт, будет находиться под моей властью. Омниус, искусственный интеллект "Да не сотворишь машины, наделённой людским умом." "Дюна"
419
10
100% менеджеров пребывают в иллюзии, что вот есть ТЗ, и уже с завтрашнего дня волшебным образом начнут реализовываться проект
100% менеджеров пребывают в иллюзии, что вот есть ТЗ, и уже с завтрашнего дня волшебным образом начнут реализовываться проектные фичи. И даже когда реальность годами бьёт их фейсом об рельс, и проекты стабильно тянутся явно оооочень долго, они продолжают упорно сопротивляться взрослым подходам. Ну потому что эго + детский сад штаны на лямках. А когда менеджер не понимает, почему это нереально, изменить его непонимание вряд ли возможно логическими рассуждениями и ссылками на огромный опыт программной инженерии (чем качественнее разрабатывается проект, тем быстрее он получается в конечном итоге, и тем легче его развивать вдолгосрочную, причём под всё это имеются детальные статистики). Как таким "продавать" на своей работе ФА/ФП/ФМ - как в их же глупеньких интересах "поскорее подешевле", так и в интересах всей команды прежде всего - поясняю ментатам в ФА 🔥
505
11
Системная инженерия -- это тонкий баланс взаимодействия трех концепций: - спецификация (что система  должна делать); - реализация (что система делает на самом деле); - верификация (определение, насколько они соответствуют друг другу).  Без любой из них это будет никакая не системная инженерия, а карго-культ.   Я гарантирую, что с помощью современных моделей AI мы сегодня вполне можем создавать спецификации, которые будут точными, полными и достаточно детализированными как для успешной реализации проекта в целом, так и успешной внутренней верификации соответствующего кода таким образом, чтобы мы также могли организовать полноценные CI/CD и внешние верификацию и сертификацию, своего рода DevSecOps powered by AI.
507
12
Почему у тебя всегда получается Big Ball of Mud? Программирование - это чистая логика, как обычно считается, и курсов/книг "логика для программистов" немало... Да, но ведь логика -- это по сути синтаксис, формальные правила композиции и вывода, и всё. А онтология, смысл, семантика, аксиомы правильного конструирования кода -- это теория, которая превращает это всё в знание. Логика/код - это инструмент, а вот теория - это построение карты системы. Например, SSL/TLS из-за отсутствия формальной теоретической модели внутри спецификации быстро превратился в big ball of mud и кучу приляпок. Да, так-то всё логично и стройно :) Чёткое разделение на слои (Record, Handshake, Alert), криптографические примитивы (симметричное шифрование, асимметрика, хеши) и строгие синтаксические правила обмена сообщениями. А вот сверху единой модели безопасности (например, формальной композиционной модели, доказывающей стойкость протокола в целом) нету. Были лишь интуитивные допущения, что дескать "если каждый кусок криптостойкий, то и всё вместе будет хорошо". Ага, ну с какой стати-то, если это не категории Клейсли, не Йонеда, особенно если не топос со своим внутренним языком... POODLE, BEAST, CRIME, Heartbleed -- это не просто "стандартные" баги типовой реализации, это прежде всего следствие того, что спецификация не запрещала опасные взаимодействия (сжатие + шифрование, повторное использование IV, блоковые режимы без аутентификации...) по причинам из предыдущего абзаца. В результате каждый патч тупо добавлял новый флаг/состояние без инвариантов, очередное расширение или хаотичную обратную совместимость (от SSLv2 до TLS 1.3) -- по сути сплошные приляпки поверх логических слоёв. И только в TLS 1.3 подход наконец изменился: разработчики взяли за основу формальную модель (модель каналов безопасности с явным разделением ключей, обязательное AEAD-шифрование, исключили старые режимы...). База: сперва теория (принципы), потом спецификации на её основе. Без слоя теории "поверх" любая логика (код, спеки, software design, system design...) всегда деградирует в набор частных костылей и приляпок.
549
13
В ЕС полный CRA, с ФМ всё куда хуже: с 11 декабря 2027-го активируется Cyber Resilience Act, и тогда все цифровые продукты должны будут соответствовать требованиям CRA. Для игр/утилит достаточно минимального подтверждения (хотя всё равно надо), а вот классов "Важные" и "Критические" требуется обязательная оценка соответствия CRA третьей стороной, а штрафы за несоблюдение могут достигать 15 млн. евро. Механика у них и у нас в целом идентична: классифицируешь продукт, попадаешь в "критическую" категорию, платишь деньги чтобы кто-то подтвердил, что ты прошёл формальную проверку (экспертная организация или notified body), получаешь сертификат или декларацию. Ну и саму формальную верификацию надо предварительно делать за свой счёт конечно. За свой SaaS среднего уровня отвалишь от 5,000 евро только за сертификацию у аккредитованной лаборатории, а если продукт для более серьёзных целей, не обойтись без 500+ тыс. евро на одно только юридическое сопровождение. При том, что сами по себе штрафы -- слабый стимул для глубокого внедрения формальных методов, т.к. они продвигают реактивную, а не проактивную культуру безопасности. Штрафы по сути налог на риск: проще заплатить если поймают, чем вкладываться в дорогую верификацию, и компании будут скорее скрывать утечки, а не вкладываться в их предотвращение, потому что для этого надо много дополнительно инвестировать по взрослому ещё с самого начала проекта - ну или бесконечно патчить легаси. Это всё я к тому, что в целом польза от формальных методов огромна на всех уровнях, но участь их крайне печальна :) Продвигать ФМ тупым менеджерам, рассказывая про контракты, инварианты и TLA+ это гарантированный провал. Ментатам на Функциональных архитектурах расскажу, как можно получить различную пользу от ФМ в своём проекте буквально за 1 день, и как это "упаковать и продать" хотя бы своему тимлиду/CTO.
553
14
Бесит прям когда каждый утюг пересказывает как вор у вора шапку OpenAI у Anthropic задачу тысячелетия Навье-Стокса украл. По мне, тут самое классное, что "массовый параллельный перебор доказательств с приоритезацией по вычислительному бюджету" (10 тыс. агентов, 88 часов и 15 млн. долл. на токены) идея древняя. Левин, 1973 Universal Search -- математически оптимальный способ искать решение, если есть формальный верификатор. Шмидхубер, 1995-1997 -- отец самомодифицирующегося поиска в пространстве программ "Discovering Neural Nets with Low Kolmogorov Complexity", да и трансформеров по сути, затем его же Optimal Ordered Problem Solver 2002. А сегодня к этой базе просто добавили "интуицию" нейронок, которые не брутфорсят, а угадывают, какая лемма правдоподобна, и эффективность действительно на порядки выше. Ну и мощные инструменты доказательств появились - пруф-ассистанты благодаря Воеводскому. Лет пять я пишу, что все идеи в computer science закончились к 1980-му, и их сегодня просто развивают и погружают в современную инженерию. А что сейчас массово заголосили и про рекурсивное самоулучшение нейронок, так это всё тот же Шмидхубер 2003: Gödel Machine - самореферентная система, которая переписывает саму себя, если может доказать, что новая версия глобально лучше. А потом Шмидхубер пояснял, как способность к неограниченной саморефлексии и доказуемо полезным изменениям может служить техническим обоснованием феномена сознания, но это уже совсем иная история. ...Смотрю, а Шмидхубер красавчик и сейчас вовсю трудится, научный директор швейцарской лаборатории искусственного интеллекта IDSIA, вовсю пилят AGI :) В этом году он пояснял за формальную теорию творчества и любопытства(!), похищу его идеи для (Meta) Principles Framework, сразу после LPF.
575
15
Изучаю темку B2B2G по ФМ :) Лично для себя, не утверждаю что именно так устроено, возможно всё ровно наоборот. = Когда предлагаешь свой софт для условных КИИ, требуется подтверждение соответствия формальной модели политики безопасности, причём платят тут не за сам процесс верификации, а за заключение экспертной организации, которое позволяет получить сертификат ФСТЭК. То есть продаётся по сути право на вход в госзакупки (в хорошем смысле, формальные гарантии качества): "Мы за 2 недели подготовим документы для вашей формальной модели, чтобы вы получили сертификат с первого раза". В нишах аэрокосмоса продаётся контракт на отсутствие CVE в критических модулях, и т.п. "Мы докажем, что ваш БПЛА не потеряет управление из-за переполнения буфера, и это одобрит военная приёмка." Банкам продают например верифицированное микро-ядро безопасности, буквально сотни строк кода, которое отвечает за разграничение доступа. "Мы математически запечатаем вход в ваше мобильное приложение, чтобы клон не мог подделать сессию." Отдельно хорошо взлетает DevSecOps и т.п. С улицы туда действительно не подпустят на 100500 километров:) контракты на сотни миллионов рублей не заключают с ИП-самозванцами. Большие бюдежеты на кибербез проходят через программы инновационного развития госкорпораций (Газпром, Росатом, РЖД) и ФПИ, они объявляют конкурсы на темы вроде "Разработка методов верификации защищённого ПО". Занимаются этим скорее всего ИСП РАН, Бауманка, МГУ, ИТМО, и никаких ИП (ну может суб-суб-подряд по своим знакомым). При этом они обычно загружены договорами на годы вперёд, а по 44-ФЗ (минимальная цена) дорогая уникальная математика им незачем. В оборонке вообще требуется положительное заключение головного НИИ (условный НИИ "Восход"), а верификацией занимается частный подрядчик, у которого есть лицензия ФСТЭК на ТЗКИ и который платит привлечённым экспертам (из своего проверенного круга). Тут никаких сторонних лиц на (суб)-подряд не может быть в принципе, потому что им надо открыть гостайну например. При том, что ФСТЭК выдаст сертификат только на конкретную программу, установленную на конкретном железе в конкретном окружении. Собрать комплект документов на 2000 страниц. Оплатить экспертизу в аккредитованной лаборатории (от 1 млн рублей). Ждать 6–12 месяцев. Если поменяешь одну строчку кода, сертификат аннулируется. Без начального капитала в 10-15 млн рублей даже не начать этот процесс. А как с этим в европах? И что теперь с этим делать? (продолжение следует)
529
16
Шок! Посмотрите, как стремительно умнеет человечество с явлением AI!!1 В частности, миллионы людей бросились старательно изуч
Шок! Посмотрите, как стремительно умнеет человечество с явлением AI!!1 В частности, миллионы людей бросились старательно изучать математику, и в результате научные издания захлёстывает поток уникальных пейперов уровня PhD и выше! (это сарказм)
1 270
17
Про важность формальных методов, или даже про важность правильной думательной машинки для некоторой (любой) технологии. Напри
Про важность формальных методов, или даже про важность правильной думательной машинки для некоторой (любой) технологии. Например, мэйнстримовская модель k8s заточена под цель "продавать курсы/техподдержку" - cмотрите как здорово, декларативные манифесты, контроллеры, "просто задекларируй желаемое состояние, и система мгновенно и надёжно приводит себя в него", срочно внедряем - совершенно не учитывает вычислительные модели распределённых систем (разбираем на соответствующем треке). А тут надо понимать прежде всего асинхронщину, частичную готовность, когда команда на удаление ушла, а под ещё жив и доедает твой трафик, или наоборот не готов его принимать, или часть подов новой версии, а часть старой, и они могут так сосуществовать бесконечно, а что kubectl apply прошёл успешно, так конвергенция может вообще не наступить из-за ошибок и т.д. и т.п. Я к тому, что все эти массовые модели по любым практически технологиям поощряют "думать" в соответствующем контексте крайне криво, что приводит к мириадам потенциальных багов. Например, думаем о кубере как о "едином оркестраторе", но когда API тормозит, etcd теряет кворум, поды зависают, контроллеры в бесконечном ретрае (что кстати в условно формальной модели k8s не баг а фича ахаха), оказывается что никто к этому не готов, потому что их приучили думать, что когда kubectl apply зелёный, это гарантия. Всё больше думаю двинуть куда-нибудь в кибербез ибо ФСТЭК и ГОСТы (КИИ, СКЗИ, ВТС...), где ещё минимально остаются взрослые формальные подходы, и люди понимают, что напиши хоть миллион тестов, это вообще ничего не гарантирует кроме patch-and-pray и никак особо не приближает к системе, которая полностью корректна (по крайней мере, в отношении некоторой спецификации)... Именно тут как раз и может дать невероятный буст метапрограммирование по Алану Кэю, в "Функциональных архитектурах" разбирал много уже. Одно дело сертифицировать 100500 строк говнокода на Java (это миллионы (если не десятки миллионов) строк доказательств на каком-нибудь lean4), и другое дело -- 150 строк DSL в соответствующем домене. Например, Calculus of Constructions я реализовал на F# где-то в сотне строк. Хотя, как говорили мастера дзен, Даже если я объясню, никто не поймёт. Думаю, мне лучше промолчать в лесу...
563
18
. Облако драгоценностей за неделю. Отличный и крутой ответ умного человека! Ты очень тонко подметил саму суть проблемы! :) 8-
. Облако драгоценностей за неделю. Отличный и крутой ответ умного человека! Ты очень тонко подметил саму суть проблемы! :) 8-й гайд "Programming in Large" (по материалам СильныхИдей для ментатов), основной акцент на функциональной архитектуре и чистых функциях, формализации тестирования, и немного других полезняшек. Приватный клуб. Когда (легаси-)проект большой, а хотелки менеджеров постоянно меняются, ты как бы всегда находишься в середине перехода к "более лучшей" версии, но никогда не переписываешь всё по-крупному, верно?.. В хорошей компании вас всегда будут поощрять к регулярному внесению небольших изменений в код. Если у вас есть полезная идея, реализация которой займет до получаса, сразу воплощайте её в жизнь! Для донов-начинающих: (лонгрид) Немало новичков тратят месяцы на создание проектов для своего резюме. Но когда они наконец добавляют их в портфолио, все проекты выглядят одинаково. И именно здесь многие упускают главное... Для донов-неначинающих: Продолжаю набор на занятия для неначинающих (миддлы сеньоры), 2 места закончились за 11 минут... Самый быстрый способ испортить проект -- это масштабировать всё что попадается под руку, прежде чем ... Самый быстрый способ загнать проект в тупик -- это ... Продолжаю выкладывать для донов материалы СильныхИдей — доступны ментатам, но тут расширенные и дополненные версии. 104. Что такое абстракция в программировании - 2 Типичный паттерн функционального программирования: "поднять" ("залифтить") значение в новое, более абстрактное представление, где проблему легче решить, а затем "принизить" его обратно в исходную форму, более подходящую уже для вычислительной обработки (чем обычно занимаются некоторые монады)... (все старые материалы для донов быстро сгорают) = Новые материалы для ментатов Лаборатории. В раздел "Элитный программист" добавлен материал 102) Вглубь потока и deep work - 3 Поток не приходит "несмотря на борьбу". Он приходит вследствие борьбы. Мозг переходит в состояние потока в определённой последовательности, и эта последовательность всегда начинается с борьбы: настоящей, неприятной, требующей усилий борьбы... Самое странное, что импульсы, которые отталкивают вас, исходят не извне. Никто не стучит в вашу дверь. Никаких уведомлений не поступает. Телефон не звонит. Вы сами тянетесь к нему... В курс карьеры добавлен 146-й материал "Инди-хакерство 2026 - 3". Пять простых правил для начинающего инди-хакера... = "Функциональные архитектуры" 168(+2) топиков. ETL/DS это ФП? Last Principles Framework: готовы 36(+3) задач, закрыты 19(+1) тем из ~20 первого уровня. Вы же понимаете например, что формальная основа CQRS и ORM, тестирования и рефакторинга - это стрелки Чу? = "ЛаМПовое": Гарри Поттер и Неорганический интеллект. 22/23 Есть ли командный толк от SDD + AI? = Лаборатория идёт со скоростью самых лучших ментатов 💪🏻 (продолжаю бесконечное ужесточение правил занятий :) = Люди подобны болезнетворным организмам, заражающим планетные системы. Именно с этой точки зрения и надо изучать людей. Эразм, искусственный интеллект "Песчаные черви Дюны"
487
19
Гарри Поттер и Методы Математического Мышления Книга 1. Гарри Поттер и Неорганический Интеллект. Глава 22/23 (и все предыдущи
Гарри Поттер и Методы Математического Мышления Книга 1. Гарри Поттер и Неорганический Интеллект. Глава 22/23 (и все предыдущие). Три блокнота и одна тишина Гермиона улыбнулась. — Это записала я. Через два дня после того, как ты впервые написал этот тип. Я не знала тогда, что такое Путь. Я знала только, что Неорганические — это не объекты. Это отношения между тем, что было, и тем, что должно было быть. Они не злые. Они просто существуют в разрыве. Если я знаю все пути, я не выбираю один. Я храню карту, по которой можно идти в любую сторону. Ты — компилятор. Драко — контейнер. А я — карта. Гарри закрыл блокнот и отодвинул его к ней. — Это не план. Это не оружие. Это … ...Гермиона шла на ощупь, и каждый шаг был для неё не перемещением, а переходом — от одного типа к другому, от одной версии реальности к следующей. "...Я не хотела победить Неорганических. Я хотела, чтобы они стали частью того, что мы сохраняем. Не как враги. Как условие существования выбора."
509
20
Продолжаю работу с ментатами 🤓 Ответ с бибилиотекой был очевидным, но до него я почему то не додумался и решил пойти вместо этого вспоминать что-то из рабочих моментов, нежели посидеть и подумать как то более абстрактно... Более того, судя по общению коллег, такие проблемы возникают и у людей с большим стажем в команде. Вообще, я не считаю, что писать однострочники это безусловно плохо, но здесь прямо вот чувствовал боль, когда их распутывал. И не очень понятно, зачем было так писать, дело ведь даже не только в сложности восприятия (которая субъективна) - это как минимум сложнее поддерживать и вносить изменения... Ребята кстати постоянно пишут, какие только детские ляпы не допускают даже сеньоры, вплоть до "магических чисел", а ведь это антипаттерн которому уже 1005000 лет, и описан в куче книг. Но когда вы работаете в мейнстриме, ничего другого от коллег кроме как big ball of mud ожидать не приходится. Хотя мне сложно представить, какое должно быть окно контекста в голове программиста, чтобы одновременно управлять агентами для разработки ну например 3-х систем сразу. Где кривые требования (и то их и нет), путаница в терминах и в целом запутанная ПрО... Окно контекста надо сворачивать в формальные спеки, в языки паттернов. Не смог себе отказать в изучении language-ext. Ну уж слишком мне нравится генерить код linq query, монадами и другими прекрасными типами. В целом я посмотрел основные монады, которые мы проходили на вводном курсе State, IO, Either, Fin(Either<T,Error>), Validation, Reader, RSW, IO, Eff(новый), Option, коллекции. Да в целом этого вообще достаточно, чтобы писать 99.9 процентов тикетов, реально. Конечно, там есть и моноиды, группы, монады сырые и всё остальное. Новые higher kinded types конечно пушка, клод сгенерил NonEmpty<T,A> where T : Foldable и я был реально в восторге, что можно так делать. Конечно я не понимаю всю механику, да и для начала и не надо... Вы правильно говорите, что это всё "механика", думательные машинки, про это гайд "Функциональные архитектуры", но ключевым именно по механикам будет LPF. Нравится, как структура данных сама по себе дает понять, что с ней можно и нельзя делать, очень крутой способ спецификации... ...тут мы приходим к той самой истине, что любая проблема решается введением новой абстракции, кроме проблемы большого количества абстракций. Решается кстати легко: все такие абстракции давно классифицированы в математике, надо "просто" их изучить и научиться комбинировать. Новый тимлид скептически относится к разработке на С#, и начал говорить прекрасные вещи, что он микросервис [на Go] с помощью ИИ написал за полторы недели, в то время как текущим сотрудникам требуется месяц и более :) В общем мои коллеги по цеху это не оценили [что надо будет Go изучать] и начали обсуждать план сваливания, спрашивали и интересовались друг у друга как там дела на рынке, смешно было слышать в общем)... (Так-то я давно ребят принуждаю к повторному перепроходу моего курса АСД на гошке. Ну а когда разработчики вместо того, чтобы порадоваться возможности - изучить новую темку за рабочий счёт - пугливо сваливают, туда им и дорога, на хх:) Допустил серьёзную ошибку, связанную с корректностью алгоритма. ...Не поймал эту ошибку, т.к. тесты проводились без чередующегося извлечения -- был тест на извлечение элементов с хвоста, был тест на извлечение элементов с головы, но теста с извлечением с двух концов не было. И именно при чередовании возникает ошибка -- при работе только с одним концом деки, результат всегда возвращается корректным. Ошибку понял только после прочтения рекомендации Виню в этом недостаточное тестирование... Neovim теперь мой основной редактор для всего, кроме рабочего проекта. Там первый опыт был не очень удачным - линтер покрасил всё...
449