Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
Я думал, это фейк, проверил, оказалось правда =>
netflix.com/helloworld

Самое смешное, посмотрите, что творится в исходниках этой странички 🙈 140 kB !

Надо было ещё в wasm-контейнер запихнуть.
😁45👍17🔥4🫡42
Я всё более скептически отношусь к "бессерверным" вычислениям. Функции без состояния + контейнеры похожи на алгоритмы без структур данных :)

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

Но к счастью, появляются очень хорошие альтернативы: "stateful serverless" :)
И алгоритмы, и структуры данных в одном флаконе. В вк рассказывал подробнее,
напомню, например опенсорсный GolemCloud: вам не нужен сервер, и в тоже время вы не найдёте такой serverful-архитектуры, которую нельзя было бы реализовать с помощью этого инструмента! 🚀🚀🚀
46👍9❤‍🔥322
Написал сегодня в вк программный пост, про стратегический рост в айтишке :)

Если вы будете прокачивать не хард- , а софт-скиллы с целью "заработать побольше денежек", то лет через 5 останетесь вообще без штанов. Вас обойдут реально умные ребята, с хорошим образованием, знающие и умеющие в computer science...

В один прекрасный (и уже не такой и далёкий) день внезапно выйдет какая-нибудь Llama 7 от гениальных математиков, и с джуниорским (а потом и миддловским уровнем) будет покончено. И что вы будете делать?..

Пацанчики поумнее, у кого четвёрка по алгебре, быстро научатся с помощью Llama делать задачки уровня джуниора, пойдут работать программистами за 30 тысяч рублей и будут этому очень рады...

Вот увидите, через 1-2 года все инфоцыганские популярные онлайн-курсы по программированию начнут учить computer science, качественному software design и профильной математике (если конечно найдут хороших преподов, в чём большие сомнения). Без этого немыслимо будет продуктивно использовать AI...

Меня это вообще не волнует, потому что, хм....
1👍43🤔18😁74🫡4
Нифига себе:

Narya -- new proof assistant that implements a type theory that is a common generalisation of dTT and HOTT!

Да ещё и написано это чудо на F# OCaml!

(только HOTT это не HoTT :)
This type theory seeks to combine the advantages of "Book HoTT" and cubical HoTT, and avoid some perceived disadvantages of either

Про кубики я пояснял 5 лет назад: "Кубическая теория типов для малышей"

=

"Towards Large Language Models as Copilots for Theorem Proving in Lean"
Our latest experiments show that our co-pilot can automate >80% of the proof steps (2.3 times better than the previous rule-based baseline aesop).

P.S. Тем временем: "Яндекс разрабатывает Календарь+ с ИИ" 😁
👍368🤔5🎉43
Грядёт Java 23 !!1
Поддержка векторных вычислений, паттерн матчинг сделали почётче,
добавили Class-File API (a standard API for parsing, generating, and transforming Java class files), а также Stream Gatherers:
This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations.

Только не знаю, "transform data" имеется в виду наверное "pulling data" ?

Вот если "pushing data", было бы реально круто, но скорее всего нет.
🤔33👍246🔥3🤓2
(микро)сервисы внедрили в мэйнстрим такое заблуждение, что дескать async в них более удобны, чем sync. Служба A может принять запрос, но если служба B недоступна (и при этом необходима для выполнения запроса конечного пользователя -- см.мои материалы СильныхИдей про 9 видов зависимостей) , async никак не поможет.

Модно ещё реактивное программирование -- это когда мы хотим писать асинхронный код аки синхронный, не особо парясь. Такая нативная поддержка асинхронщины в языке, можно назвать её "point-free фп-стиль на стероидах", тут же и генераторы, и async, и корутины (в котлине)... но по большому счёту, это просто классическая семантика продолжений (callcc). Теоретически вы можете переписать вообще все свои функции в стиле cps даже в обычной программе ("Уничтожаем императивность CPS-трансформацией"), но, по понятным причинам, это сложновато для программистов мэйнстрима.

Потому что есть такая глобальная проблема, что много "асинхронных" разработчиков не понимают самой сути async. Rust например прививает ошибочный стиль.

Зачем вообще нужна асинхронщина?

Для хорошей масштабируемости параллелизма (concurrency), и всё.
(ну ок, она нужна ещё в js :)
👍45🤔115💯31
... по сути async -- это просто ухудшенная версия зелёных тредов
(бедная java от них отказалась ещё в версии 1.2 :) и так и осталась на уровне C# до явления в нём async/await и Task)
-- только с плохой интеграцией в язык программирования и слабой эргономикой использования.

Однако в большинстве нормальных языков green threads поддерживаются в той или иной форме: Erlang, Go, Haskell, Julia, OCaml, PHP :) , для Python конечно есть расширения, и т.д.

А вот в Rust их нету (но есть async/await и Future), в основном потому, что у Rust нет рантайма, и для встроенной в язык асинхронщины требуется полностью другая механика компиляции + подходящий рантайм, например Tokio (однако в результате легко получить несовместимый в другими рантаймами код :).

Зелёные потоки в основном подразумевают, что компилятор будет вставлять точки выхода везде -- чтобы можно было приостановить выполнение любого потока в любой момент.

=

Короче говоря, в мэйнстриме понимание асинхронщины сводится примерно к такому: "просто сбрось это в тред и забудь о нём". Это самое наихудшее использование потоков, которое только можно себе представить :)

Добавляется сложность и накладные расходы (например, ядрам приходится постоянно кэши сбрасывать). В результате получается, что десятки тредов просто занимаются своими делами, контактируя через какой-то общий объект. Это ужасно и по использованию процессорного времени, и в целом практически всегда это признак плохого проектирования.

Рассказывал подробнее про "concurrency или параллелизм?".

P.S. Вообще, "однопоточный" Rust был бы существенно дружелюбнее и проще. Не исключено, что когда-нибудь это и случится )
👍36187🤓1
Сегодня курсант написал:

...я сломал интеграционные тесты, когда починил, выяснилось, что они были сломаны во многих местах уже и не мной :)

... не заметил, как тестеры начали неправильно актуализировать тесты, по итогу часть тестов удалили, после чего я понял, что отдел тестирования совсем не понимает, что им нужно сделать без лида, а лид в отпуске)


Точно по мему! )))
😁5831👏1🤔1
С момента возникновения РФ я был в отпуске два раза: в 1995-м и в 2008-м, когда работал в офисе (и это были самые бесполезные годы в карьере :) просто рутинные задачки без какого-либо роста). За все эти десятилетия я не выезжал за пределы МО (за исключением 2013-го, когда ездил по приглашению в Питер, в гости к Олегу Степанову, CEO JetBrains на тот момент).

У меня нету и не было автомобиля (но есть мотоцикл и 5 велосипедов:). Дачи нету, домик у жены в Солнечногорске. Я живу очень скромно, кушаю простую пищу, ношу неубиваемую спортивную одежду, и мне особо ничего не нужно и не интересно, кроме computer science и роста моих курсантов (по зарплате :).

Я практически никогда не отдыхаю, да и не люблю "отдых", у меня за 45 лет карьеры программистом ни разу не бывало выгорания или приступов прокрастинации
(на треке "Элитный программист" начал выкладывать материалы, как с ней справляться, первый материал "Тайные техники монахов, лучших спортсменов и элитных военных"),
и прекрасно себя чувствую.

Чего и вам искренне желаю! :)
❤‍🔥88👍28👏8🫡8🏆6
Ну, кто хочет сегодня поработать? :)

Вышел pre-release Torch Titan (a native PyTorch Library for large model training).

Currently we showcase pre-training Llama 3 and Llama 2 LLMs of various sizes from scratch.
Get started in minutes, not hours!

Отлично дополнит мой курс по PyTorch.
👍3319🤔21
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