Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 11. LLM + TDD.

Claude 3 хороша, прям явно сильнее OpenAI и Mistral, которые (пока?) не умеют нормально организовывать взаимодействия функций в коде, уж не говоря о пояснении своих промежуточных рассуждений. Посмотрите нотебук Anthropics -- function_calling

И вот по мере того, как AI "учится" эксплицитно рассуждать, а не молчаливо выдавать мутный "готовый" результат, здорово может сработать TDD, причём в самом строгом формате (красный-зелёный-рефакторинг). Идея -- как следует научить сетку (взять любую подходящую с Hugging Face) писать код именно по TDD, потому что тут она уже никак не сможет выкручиваться и галлюцинировать, а через рефакторинг, возможно, и немного "поймёт" смысл кода в текущей сессии. Думаю, таким способом вполне реально сделать что-то минимально адекватное по несложным рабочим тикетам.

А затем пишете в hackers news и становитесь всемирно известным в модной темке, как Devin например.
🔥38👍972🤔2
В свеженькой java 22 самое вкусное -- это Scoped Values, которые наконец-то перетащили в релиз из Project Loom (the new Java concurrency model). Главная фишка -- можно безопасно обмениваться иммутабельными данными и между потоками, и внутри них. Теперь лучше юзать это вместо локальных переменных, особенно когда их много, эффективность заметно лучше.
На сервере обновил java до 22.
🔥44🤔8👍76🐳1
Вы никогда не знаете, какой инструмент лучше всего подходит для работы, поэтому лучший вариант -- изучать всё новые и новые инструменты.

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

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

Эту книжечку я брал с собой в Париж в 1990-м, где мы вдвоём с В.Р. по заказу Canal+ разработали клиент-серверную игру в шашки "Гроссмейстер Агафонов" для Minitel (французский прообраз интернета), в которую играла вся Франция.
Под Unix, по-моему, на PDP какой-то.
🔥5426👍3🐳31
Покажите это своему менеджеру.
55💯20👍7🔥7😁3
Ваше мастерство определяется не только тем, насколько хороший код вы можете написать, а и во многом тем, насколько дерьмовый код вы можете прочитать.
😁77❤‍🔥8👏2🐳2
Это был прекрасный мир, в котором мы могли доверять фотографиям, видео и лингвистическому анализу.

Но этот мир мёртв. Его убили технологии. Пришло время умно двигаться в новый мир.

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

Если я подписываю свои посты в вк или тг, вы знаете, что я, по крайней мере, одобряю сказанное, даже если я попросил AI написать это.

Когда кто-то выкладывает видеоролики на RuTube, вы сможете доверять им в той степени, в какой доверяете самому RuTube :)
4613🤔6😁4
Как говорил Тони Хоар, "Отлаживать сложнее, чем программировать, поэтому не вкладывайте все свои усилия только в программирование".

P.S. "Кинопоиск" работает на французском софте? lol
50😁17👍3💯2
"After Abandoning C/C++, Microsoft Forms New Team to Rewrite C# Code in Rust!"
🤔47👍134🫡32
РФ ещё со времён СССР выделялась сильными программистами, с хорошей математической подготовкой. Так было, так есть, и так и будет и дальше, надеюсь.

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

Возможно, потому, что там где хардвер, сразу появляются мощные госзаказы. Так-то чиновнику-неайтишнику трудно понять, почему это качественная разработка софта требует миллиардов. Ну сидят человечки, стучат по клавишам, вообще никаких накладных расходов кроме зп. Мы же легко наберём с улицы сотни разработчиков и создадим свою ERP, как мне однажды сказали в уважаемой компании лет 20 назад :)

А вот насчёт создавать хардвер, который явится лет через 5 и сразу будет отставать от мирового уровня на 15 лет, а стоить куда дороже, куда понятнее: можно показать что-то физическое для отчёта. Берёшь в руки, маешь вещь.

Но зато за счёт подобных "проэктов" можно стать долларовым миллиардером...
👍72💯7🔥21
Очень надеюсь, что этот тренд будет только усиливаться.

"Why the fuck do we let people that have no computer science backgrounds write code? Unacceptable!"

— Erik Meijer
🤔42👍2453🔥3
C++23 порадовал: например, мы оптимизируем с помощью assume функцию для расчёта значения 44, и если она попадётся где-нибудь в промисе, который потом сломается (что само по себе и так часто приводит к race condition), мы окажемся в UB и получим в перспективе крайне хреновые ситуации, которые нереально воспроизвести, если включён UndefinedBehaviorSanitizer (например, условия гонки чувствительны ко времени).
P.S. Ладно, плохой пример нарисовал :) return x+2;
Ну в общем вы поняли )
🤔564👍4🤯4
Только 6 человек в мире понимают суть этого всего ^^^ :)

Ну, с Днём Математика!
🎉46👍18🤯124🔥2
Ничто так не учит правильной архитектуре и software design, как работа с собственным дерьмом трёхлетней давности.
👍42😁24💯5🤓4😎3
Ваша мотивация — полностью ваша проблема 😎

Немного из отчётов ребят:

Но я все больше начинаю понимать,что меня интересует software design в программировании и как вы говорите «эти ваши веб фреймворки» да и в целом “programming in small” не так интересно. Может быть,это конечно неправильно, не знаю)) Но меня как то прям «прёт» от того,когда получается,пока естественно по кривому,не идеально,но все же разбить какую-бы то ни было программу на более менее независимые классы,спроектировав их общение мало мальски с интерфейсами.

Мы тут делали на distributed systems клиент и сервер по обмену сообщениями на сокетах на С++ и я вот прям день сидел и потел над дизайном,какие «абстракции» добавить. Пусть даже и пока не такие,чтобы вау,но так не хотелось как весь класс писать 300 строчек в мейн…

Как оказалось,после такого дневного обдумывания с UML и sequence diagram код писался намного легче. Всё таки,как вы и писали в одном из последних постов - навык по software design будет очень востребован со всеми LLM. Потому что в целом после уверенного понимания архитектуры и как что с чем общается, написать код - рутина. ...и пришлось что то менять,когда код писал,но уже лучше чем менять его после каждого «прозрения»,что надо было сделать по другому…

Даже сейчас читая про ASP NET мне как то больше интересно про его архитектуру,а не за какие API его дергать,чтобы достать сервис из DI контейнера...

И спасибо вам за ваши мотивационные посты в тг,у меня хоть потихоньку как то глаза открываются на карьеру и путь в IT. В FAANG уже не хочется,хочется как тот парень на 3ех проектах)) Ну и уже нет установки просто «поднять скилы» с вами - хочется научиться и зарабатывать деньги. Хорошие…

В общем изменения в себе я вижу с момента того,как к вам присоединился,а это самое главное! Так как до вас я 1,5 года какой то ерундой занимался,прогресса как то не было. Так что ваши посты работают!!! Они такое медленное действие оказывают,сея зерно сомнений в своих установках,которые чаще всего как то криво пока сформированы…
👍61🔥108😎31
Компетентность проявляется в глубине знаний, а не в их широте.

Бесчисленное множество программистов могут писать говнокод на Java, но на порядки меньше понимают и учитывают достаточно сложные детали, такие как JVM, сборка мусора, сериализация, многопоточность... И ещё на порядок меньше тех, кто может свободно писать на Java в функциональном стиле.

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

Для начала, будь то популярный язык программирования, REST-фреймворк или оптимизация SQL запросов в PostrgeSQL, станьте специалистом по чему-либо одному. Со временем это существенно изменит вашу карьеру!

P.S.1. Между прочим, если у вас один сервер и нету потока ежесекундных запросов, зачем вам постгресс? Используйте шуструю и компактную sqlite 🚀

P.S.2. Ну ладно, или бессерверный Postgres :)
🔥45👍1410😁5🐳1
Я решил, что функциональное программирование -- это поверхностная мода, и собираюсь вернуться к вечным математическим принципам императивного и объектно-ориентированного программирования.
🤔4414🤯12😁11😎6
Java/C#/C++ программистам очень полезно периодически кодить на Python, чтобы никогда не забывать, какая это боль, если не используешь хорошую static type system.
😁61👍15🐳5🔥2💯2
Совершенно не удивлён: когда ты монополист, можно откровенно плевать на своих самых благонадёжных клиентов.

И что это за служба безопасности, которая даже не может сама отследить, откуда мне донаты приходят? :)

Даже в банках, когда вам блокируют карту, безопасник просит пояснить за конкретный платёж ("а чё это вы впн оплачиваете?"), хотя бы ясно, в чём претензии.

Понятно, что сейчас положено активнее "бдеть", а как отчитаться о своей активности? Только числом заблокированных "подозрительных".

Ну ок, уйду на бусти например.
34🤯24👍13🫡10😁3
А чего так на "Смуту" набросились? Рассматривают под микроскопом, придираются к каждой детали.

"Текстурки разъехались... Сценка не проработана... Графика на максималках всё равно не топ..."

Ну игра и игра. Мне не нравится только, что бегать надо многовато по локациям (наверное, коня дадут?), а так норм.

Не знаю, это анрил наверное просит установить Visual C++ 2015 Redistributable? :)
😁62🤔8👍7🎉4🐳3