Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
v0.dev — киллер реакта? )))

Generate UI with shadcn/ui from simple text prompts and images.
31😁11🤔11👍62
VK, Сбер и Яндекс не смогли договориться о распиле многосотмиллиардного бюджета создании консорциума для разработки общей российской мобильной операционной системы (ОС) на основе Android.

Я кстати предлагал за миллион рублей и пару дней "создать" русифицированную пользовательскую мобильную ОС с поддержкой Android-приложений на базе открытой платформы AOSP.
🔥48😁24👍7🐳3🫡3
Те же люди, которые говорили, что ты занимаешься никому не нужной фигнёй и это пустая трата времени, спустя пару дней спрашивают "а как ты это сделал??" :)
👍42🤔268🫡42
Ну, с Днём Шифровальщика! :)

Чем сегодня можно позаниматься в этих темках? Например попробовать сломать какой-нибудь децентрализованный консенсус, накупив побольше стеков :)

Считается, что таким образом взять абсолютный контроль над децентрализованной сетью невозможно, однако если атаки делать поумнее, через более "многомерные" манипуляции, помягче и подольше...

Пацаны из opengames например построили свою теорию по блокчейнам для игр, сделали солвер для формальных доказательств корректности, и нехило зарабатывают консалтингом по таким консенсусам. И спрос на их услуги будет только расти -- по причине из предыдущего абзаца.
👍509😁32😎2
Это из скриптов TON - The Open Network.

Зачем добавляется каталог верхнего уровня в список путей поиска модулей? Зачем путаница с именованием path и dir? Всё мутно и неочевидно.

И вы после моих курсов ещё сомневаетесь, сможете ли стать вот таким элитным программистом, вот такого мирового уровня? Сможете ли работать у Дурова например?
🤔38😁19👍82🤓1
Одна из множества прекрасных идей для клонирования: Wellness for Busy People.

После того, как, к счастью, нельзя стало расплачиваться картами онлайн за это всё (и, надеюсь, хотя бы ещё лет 10 так продолжится), в России стремительно растёт огромный рынок национальных аналогов (в том смысле, что он совсем пустой:). Я подписан уже на несколько десятков бусти/шмусти и других платных русских подписок, и очень доволен, но хотелось бы гораздо большего.

С удовольствием бы платил 500 рублей в месяц и за клон подобного сервиса производственной гимнастики (2000+ разминок и растяжек на рабочем месте).

"Our AI adapts to your team's habits, suggesting health breaks at the most opportune times."

Вот ещё идея для клонирования: "The official Atomic Habits app", тысячи их!

Главное, не надо бросаться "вкладываться" в разработку; максимум за пару недель запилите MVP (прочитайте сперва с курса карьеры "Как правильно создавать
прототип/MVP вашего продукта,и надо ли это вообще делать?"), сделайте лендинг или группу вк, дайте тестовую рекламу на 1000 рублей и посмотрите, какой будет интерес. Если получится конверсия 1-2% в лиды, значит дело стоит того.
👍43🔥10❤‍🔥422
То странное чувство, когда заходишь через впн на сайт ФБР :)
😁503👍2😎21
То, что в ООП (и ранее) называется "модульностью", и то, что в ФП сейчас называется "композиционностью", на самом деле одно и то же: возможность комбинировать сущности на основе их интерфейса/типа без необходимости программистам одной из таких сущностей заглядывать внутрь другой.

Но есть нюанс: в мае раза три уже, в чатах, в отчётах hard work ребята писали, как постоянно путаются с интерфейсами, абстракциями и контрактами. Я как раз готовил большой материал для СильныхИдей (позавчера выложил), думал, что он будет довольно теоретическим, однако внезапно оказалось, что он реально востребован! В нём я рассмотрел случай, когда множества интерфейсов и абстракций не пересекаются, а дальше теперь поясню ситуацию их пересечения.
👍608🔥2😎1
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 12. Sam Altman is saying that AI is going to lead to a 1-person $1 billion business.

Рассказываю, как вы сегодня можете за несколько месяцев в одиночку создать AI-стартап в России на многие миллионы прямо сейчас! А дальше, кто знает?

На этой неделе IBM выложила модельки Granite Code, заточенные специально для программистов!

Granite Code models achieve competitive or state-of-the-art performance on different kinds of code-related tasks, including code generation, explanation, fixing, editing, translation, and more.

Голубой Гигант утверждает, что в генерации кода их модельки рвут даже LLama 3.

Фреймворка для них вроде пока нету (точнее, есть ибмовский watsonx.ai , но его фиг получишь), но вы можете легко и просто установить их локально отсюда стандартным для huggingface способом: ставите pytorch, затем transformers, ну и простой скрипт запуска и теста есть на вышеупомянутой страничке.

Засада в том, что комп с 16 гигами оперативки не потянет даже самую маленькую модельку с 3 миллиардами параметров, а там есть аж и на 34 миллиарда )))

Да, есть Hugging Face Model Hub, есть Spaces, есть Transformers Playground, но они достаточно большие модели запущают только в платном режиме, из РФ недоступном. И это хорошо :) Потому что вот это и есть супер-ниша для национальных AI-стартапов.

Это работа уровня студенческого диплома. Сервис, чтобы можно было в любимой Российской Федерации с этими модельками работать онлайн. Спрос в России будет прекрасный, гарантирую! Причём как от частников, так и "корпоративный". Файнтюнятся Granite Code отлично, можете под конкретные корпоративные проекты делать тюнинг в заказном режиме, или наоборот натаскивать модели на конкретные фреймворки вроде Django или Spring, и т.д. и т.п.

Деньги под ногами сегодня (пока) валяются тоннами.
🔥51👍6😎4🤔32
Тёмная сторона моего формата hard work в том, что он провоцирует весьма масштабный рефакторинг доставшегося вам по наследству говнокода )

Например, в одном из материалов СильныхИдей рассказываю про тёмную сторону мономорфных сигнатур типов: существует так много способов их реализации, что ваши шансы испортить её сравнительно высоки, и при этом существенно труднее рассуждать о её корректности. Поясняю, как уменьшать общее количество функциональности, реализованной мономорфно -- но если менеджер будет вас умолять "please no more refactors", лучше его послушать.

Как правильно? Ну, сразу писать норм код. Но с вероятностью 98%, в любом проекте, куда вы приходите, такого кода вы не найдёте. Что интересно, существует немало достаточно простых метрик обеспечения качества кодовой базы, которые автоматически приводят к существенному ускорению проекта в целом, однако в 98% компаний вас будут просто тупо принуждать высиживать положенные нормочасы за экраном клац-клац, теряя при этом десятикратные суммы.
👍5410😁7🤔3🔥2
Лаборатория Математики и Программирования Сергея Бобровского
Что выбираете в понедельник 13-е, признавайтесь 😎
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 13. "Sam Altman is saying that AI is going to lead to a 1-person $1 billion business" - 2

Вот ещё несколько классных идей (которые за доллары) для клонирования:

-- Create AI Influencers. Start Earning.
Альтушка для скуфа
Glambase lets your AI character take center stage, giving you the earnings and freedom you've always wanted.
...it depends on how popular your AI influencer becomes—you could make anywhere from $200 to $100,000 a month.


-- Ironpants -- чуть ли не 1:1 клон flappy birds (которая заработала миллионы долларов), на котором автор срубил 500,000 долларов.

-- Rama is a new programming platform that reduces the cost of building scalable backends by 100x.
Twitter's original consumer product cost 1M lines of code and 200 person-years to build. Read about how we rewrote Mastodon, a similar product to Twitter, to be fully scalable in only 10k lines of code and nine person-months of time...


-- Kalix: Design, Develop & Run High-Performance Backend Applications FASTER
- Domain Driven Design (DDD) - Declarative programming model with building blocks that help architects simplify domain modeling and handle business logic complexity.
- Built-In best practices - Built on Akka - distributed computing framework that drives creation of reactive, event-driven applications that are high performance, resilient and scalable.
- Infrastructure inferred from code.
- Auto-generated, state-of-the-art, optimized cloud native stack.


P.S. Между тем ChatGPT ожил в России -- просто через впн норм работает со старыми "российскими" логинами гугла, которые раньше OpenAI беспощадно банил. Да только поздновато, как и микрософт (хоть бы их вообще больше никогда не видеть), спохватились: другие сервисы ихнюю долю давно отъели, и обратно уже не отдадут. Поздняк метаться.
❤‍🔥28👍16🤔65🔥4
A casino in Australia gave away millions in cash due to software glitch, recipients charged with fraud.

"Обычно покупатели могут вставить в автоматы TICO два чека, чтобы погасить их одновременно. Сбой означал, что устройства возвращали один из этих билетов для повторного использования."

Очень доволен; это лишь то, о чём рассказывают открыто, а 98% контор скрывают свои баги конечно. Ежемесячно такие истории появляются, и дальше, по мере роста объёмов кода, будет только хуже. Действительно, зачем программистам изучать computer science, АСД, software design? Это же всё "на работе вообще не нужно". И так сойдёт.

Самое интересное, что виноваты в этом как раз не необразованные программисты, а менеджеры, которые на вопросы удалёнщиков (тайно работающих на трёх работах по 500k :) "мой темп и качество норм?" отвечают "да-да" (потому что сами в программной инженерии вообще абсолютный null :).

Почему ситуация скоро изменится (надеюсь), скоро расскажу в вк.
50👍17🤔4💯1😎1
На работе computer science, программная инженерия и software design тебе никогда не понадобятся, говорили они. Просто почитай учебник "System Design. Общие принцип прохождения интервью по проектированию ИТ-систем" (рекомендую кстати к изучению в любом случае :), и норм.

...

Таких отчётов с hard work у меня десятки =>
"просто так получилось" (с) )))
И дальше такого дерьма будет только больше.

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

...Мне кажется, у нас весь проект такой. Т.е. один большой артефакт.
...У нас в проекте долго была проблема, которая рождала множество багов. В проекте есть веб-сокет соединение. Изначально система писалась с расчетом на то, что сообщения будут приходить в определенном порядке. Т.е. синхронно, асинхронность в расчет не была взята. Это не было сделано специально, просто так получилось. И это работало, пока не был переписан бэкендовый сервис, который отправляет сообщения. Он перестал гарантировать порядок сообщений. Из-за этого началось большое количество проблем на фронте, потому что он не был готов к этому вообще. Получается, что следствием этого было возникновение багов, а причина багом не была.
...Был у нас баг, который положил всю систему многим клиентам. Для переводов у нас используется weblate - опен-сорсная библиотека для хранения и версионирования переводов. Он жил в одном инстансе. Он обслуживал все запросы от всех клиентов, потому что все переводы им у себя кэшировались. В какой-то момент, точно не помню из-за чего, этот кэш инвалидировался и все запросы стали идти на сервис. Под нагрузкой он лег, возвращал ошибки, как следствие система не грузилась. Был большой инцидент, много клиентов было затронуто.

...Видите какой уровень вложенность Depends fastapi?
Сначала в каждом сервисе, а точнее - в каждом роутере мы должны сформировать функцию для инъкции в обработчик роута/запроса, которая в свою очередь: А) Парсит Authorization хедер (Зависима на библиотеку связанную с авторизацией, тоже вызывает Depends) Б) Проверяет накостыленный RBAC (некоторые запросы могут игнорировать его, например... Внутренние! Ох уж этот распределенный монолит) С) Наконец формирует экземпляр класа в котором запакована вся CRUD логика для обработки запроса.
Это же какое-то дерьмо.
Это не просто боксинг, это мета-боксинг да еще с кучей зависимостей. Это совсем не читаемо и неудобно, ничего не понятно. Пытаясь разобраться в коде или внести новые изменения в тот же самый post на создание Entity, если мы видим этот код и "стиль" первый, второй, третий или даже четверный раз, нам надо посмотреть в "Сценарий" и еще в 2 библиотки.
Это не неудачная абстракция, это откровенное дерьмо. Пару месяцев назад я видел подход, когда в модель базы добавляли методы для обработки круда fastapi, это примерно один и тот же боксинг, но в последнем больше смысла чем в этом Сценарии.

...Старое приложение хостилось еще на iis, после одного из релизов начало падать и перезагружаться стабильно 1 раз в день.
Провозился я, будучи еще мидлом около месяца с поиском этой ошибки.
Оказалось - рекурсивное событие в коде. Нашли с помощью дампа памяти, который сняли перед падением.
Перепробовали все мелкие фиксы, добавляли памяти, увеличивали лимиты и т д.
Не хватало более широкого понимания картины, для начала стоило:
- понять, когда начала появлятся ошибка;
- пересмотреть код с последних релизов;
- сделать выводы и повторить последние два пункта;


Никакой "практический опыт" никогда не даст вам широкого видения картины в целом, потому что это отдельный (и возможно, самый сложный инженерный) скилл системного мышления.
54👍216🤓2
Нам нужно серьёзно поговорить.
😁606🤯4🐳2👍1