Лаборатория Математики и Программирования Сергея Бобровского
前往频道在 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 в Мадриде оказался абсолютно зашкварным ("нас не обгонят"):
"Ни на одном этапе (кроме Монако) меньше 47 обгонов зафиксировано не было. В Мадриде же их было всего четыре!..
Ферстаппен сразу после того, как опробовал трек на симуляторе, заявил, что обгонять на нем нереально...
Не представляю, чтобы кто-то, просто взглянув на конфигурацию трассы, сказал: Класс! -- Норрис..."
При том что сам-то проект реализован успешно: трассу построили в сроки/бюджет, в соответствии с проектом, претензий к качеству нету. Да вот только не учли главного: что самими пользователям это нах не нужно :)
А ведь решалась это элементарно, достаточно было просто попросить экспертов исходно оценить проект -- "просто взглянув на конфигурацию трассы". Это же вообще бесплатно! Ну а если есть сомнения, то сделать сперва симулятор трассы, всё равно это будет на многие порядки дешевле, чем когда "директор трассы Луис Гарсия Абад пообещал все переделать" )))
Как раз в тему BDD/SDD, на Функциональных архитектурах я подробно разбирал в большом модуле - конкретно "Мета-спецификации", десятки материалов - именно то, что непосредственно и сами спеки по себе, и реализация, могут быть идеальными, да что толку, если не ни у кого из десятков менеджеров и проектировщиков в голове не возникал самый базовый вопрос системной инженерии: в чём цель системы?
Детский сад штаны на лямках.
"Первая версия, похоже, стала образцом того, как не нужно проектировать гоночные трассы."
Переделывайте нафиг! :) | 395 |
| 4 | Одним из самых лучших результатов внедрения AI в программирование стало то, что оно помогает многим разработчикам перестать боготворить работу в найме и задуматься о том, что лучшим вариантом для программиста может быть (а скоро и будет только...) работа на себя.
Засада лишь в том, что создать доходный ит-бизнес легко, но трудно быть терпеливым и годами заниматься одним проектом. Именно поэтому большинство программистов на этом и не заработают.
Ну и на первых порах будет сильно удивительно, насколько сильно различаются навыки, необходимые для карьерного ит-роста, и для создания собственного ит-дела.
Жизнь сложна. Так сделайте её ещё сложнее :) | 389 |
| 5 | "...А еще поняла, что если что-то непонятно в 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, как прилетит от РКН штраф например за некорректное хранение персданных (или за любой другой из 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% менеджеров пребывают в иллюзии, что вот есть ТЗ, и уже с завтрашнего дня волшебным образом начнут реализовываться проектные фичи.
И даже когда реальность годами бьёт их фейсом об рельс, и проекты стабильно тянутся явно оооочень долго, они продолжают упорно сопротивляться взрослым подходам. Ну потому что эго + детский сад штаны на лямках.
А когда менеджер не понимает, почему это нереально, изменить его непонимание вряд ли возможно логическими рассуждениями и ссылками на огромный опыт программной инженерии (чем качественнее разрабатывается проект, тем быстрее он получается в конечном итоге, и тем легче его развивать вдолгосрочную, причём под всё это имеются детальные статистики).
Как таким "продавать" на своей работе ФА/ФП/ФМ - как в их же глупеньких интересах "поскорее подешевле", так и в интересах всей команды прежде всего - поясняю ментатам в ФА 🔥 | 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
В частности, миллионы людей бросились старательно изучать математику, и в результате научные издания захлёстывает поток уникальных пейперов уровня 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-й гайд "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 (и все предыдущие). Три блокнота и одна тишина
Гермиона улыбнулась.
— Это записала я. Через два дня после того, как ты впервые написал этот тип. Я не знала тогда, что такое Путь. Я знала только, что Неорганические — это не объекты. Это отношения между тем, что было, и тем, что должно было быть. Они не злые. Они просто существуют в разрыве.
Если я знаю все пути, я не выбираю один. Я храню карту, по которой можно идти в любую сторону. Ты — компилятор. Драко — контейнер. А я — карта.
Гарри закрыл блокнот и отодвинул его к ней.
— Это не план. Это не оружие. Это …
...Гермиона шла на ощупь, и каждый шаг был для неё не перемещением, а переходом — от одного типа к другому, от одной версии реальности к следующей.
"...Я не хотела победить Неорганических. Я хотела, чтобы они стали частью того, что мы сохраняем. Не как враги. Как условие существования выбора." | 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 |
