Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
Каждый раз, когда очередной язык программирования не справляется с задачей предотвращения ошибок, его поклонники заявляют, что "каждый язык требует дисциплины" и что "сильные системы типов не могут контролировать всё".

Ровно ноль из них пишут код на языке ассемблера.

Ассемблер даёт максимальный контроль над машинным кодом, что на самом деле позволяет избежать многих классов ошибок, которые обычно возникают при использовании более высокоуровневых языков.
5👍43🎉15🤔134🔥2
Сама дискуссия "нужна ли математика и кампутер сайнс программисту" уже свидетельствует о явной деградации одной из сторон (угадайте, какой :). Потому что даже нельзя сказать, что они занимаются действительно интеллектуальной работой. Просто быстро выгорают, и всё.

Нужно ли человеку всю жизнь развивать своё здоровье и свой ум?

(а если вот так спросят на собесе, что ответишь? :) добавил этот вопрос на второй курс АСД)
5😁40👍1810🤔21
Пытался с помощью жпт-о написать с нуля небольшой проект на дюжину классов. Дал детальное ТЗ, попросил сперва абстрактные классы сделать и вкратце описать. Что-то минимально удовлетворительное жпт сформулировал, но когда попросил его теперь сгруппировать классы по назначению, он исходный вариант почти весь переделал: одни классы добавились, другие исчезли, третьи сменили название... Попросил теперь минимально реализовать -- жпт снова половину переиначил, добавил явные тайпкасты, которые даже не компилируются. Потом он вообще стал терять нить, отвечал на новые уточнения как полностью новые (хотя контекстное окно вроде как большое)...

Уровень software design современного AI пока равен нулю, и прогресса тоже ноль. Ну, прежде всего потому, что материалов по software design с хорошими примерами крайне мало.

Попробую теперь жпт-о1 потестить, рублей триста наверное надо будет за такое короткое общение выложить. Но не думаю, что особый прогресс появится, с чего бы.
4🤔59👍10💯8😁1
Почему топологи не боятся страшных историй на Хэллоуин? Потому что они с помощью гомеоморфизма превращают любой кошмарный сюжет в жизненно приемлемую модель.
😁53👍185🤔3
ORM - это баг, а не фича. Рассогласование импеданса, N+1, куча засад с миграциями, транзакциями, сложными запросами, производительностью...
👍5114💯6👌1
То странное чувство, когда в соответствии с Федеральным законом от 08.08.2024 № 303-ФЗ с 1 ноября как добропорядочный владелец страницы (правда у меня формально не "страница", а "группа") в социальных сетях с аудиторией более 10 тыс. человек пытаешься передать соответствующую информацию в РКН... и ничего не находишь. Поиском РКН выдалось всего 11 ссылок на сведения 10-летней давности.
Пробовал, как рекомендовано, через госуслуги реестр блогеров найти -- тоже нифига.

Откопался в процессе, правда, "Реестр социальных сетей" ("Сайт создан в рамках реализации положений статьи 10.6 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации»"). Но там формы отправки тоже нету.

Теперь ждём отмазок, что дескать эээ закон принят, да вот только техническая часть пока не готова, "немного" подождите бла бла бла.
Ну, запилить форму с отправкой соответствующих данных на почту РКН, это для джуниора полчаса работы максимум.

Или я просто плохо искал?
😁60👍13🤔43🐳3
Работа с LLM напоминает проблему P = NP? Если некоторая задача подразумевает большой объём ручного труда, а LLM сделает её легко, и вы можете быстро убедиться (протестировать), что сгенерированный код соответствует вашим нуждам, вы экономите время. Но если вы не можете это сделать, но всё равно полагаетесь на LLM, вы играете с огнём.

На днях явился очередной ai-сервис Болт : "Prompt, run, edit, and deploy full-stack web apps."

Ну, действительно, просто по запросу "сделай арканоид" Болт за минуту сгенерил полный проэкт, нафигачил кучу кода на ts :) и тут же задеплоил и запустил, я поиграл немного. А если находит у себя ошибки, то фиксит по запросу.

Надо на чём-то более серьёзном потестить конечно, с конкретными фичами, выглядит довольно привлекательно. Но в целом, напомню, программирование -- это НЕ про создание готовых проектов. Программирование -- это про создание систем, которые легко развивать и легко сопровождать многие годы.
👍53🤔216
Сидишь за компьютером – сиди за компьютером. Идёшь на собес – иди на собес. Не нужно колебаться.
мантра дзен

Многозадачности здесь места нет. Нет, нет, нет, нет. В современном мире способность сосредотачиваться на одной задаче – это суперсила.
💯71👍20❤‍🔥2🔥1
Вы уже оптимизируете свой код для LLM-ок? Разбиение кода на более мелкие и чистые функции с чёткой, лаконичной и точной документацией (в идеале, сформулированной формально, триплами Хоара например, или на TLA+, поясняю эти моменты в СильныхИдеях) может сильно помочь и тактически, и стратегически.

Свежее от курсанта:
"Подтвердил свою мысль, из предыдущего упражения, о том что прописывать алгоритм текстом ДО решения - это действительно очень полезная практика, которая сильно экономит время."

Поэтому, полагаю, айтишке никуда не деться от массового перехода на типизированное функциональное программирование с мощной поддержкой DSL.

Алан Кэй, как всегда, был прав.

P.S. Соответственно, и поясняющие (прежде всего для AI) комментарии в коде очень полезны.
👍60😁128🤔2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда финиширование проекта в срок казалось таким близким...
😁627🔥3👍1
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

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

Сегодня, когда наши рекрутеры сломали найм в айтишку более чем полностью, идея вката в ИТ через микро-стартап выглядит всё более привлекательной. Можно даже так: создаёте свою фейковую орг.структуру, сайт, регитесь ИП, и предлагаете свой платный сервис. 2-3 года стажа программирования так вполне можно официально получить. Тем временем качаетесь до миддла (с наймом джунов совсем швах из-за убитого кадровиками найма начинающих); а возможно, действительно сделаете успешный продукт.

Например история (нереклама):
"Отказался от AWS и заработал 10 миллионов долларов", как чел сделал сервис для банков (просто технический пайп) по подписке 88 евро, и его отлично покупают.

Таких идей "под ногами" сотни, но люди просто не решаются "попробывать".

Дорогие, всем и так на вас пофиг, а вы ещё и боитесь и стесняетесь.
2👍5519💯4🔥32
Если на собесе спросят "фреймворк Django 5.x синхронный или асинхронный?", что ответишь?
Anonymous Poll
56%
синхронный
44%
асинхронный
🤔53🐳11
Как же долго я мучился с жпт-о, а потом попробовал сонного клода 3.5 , ну прям явно лучше кодит, "понимает" контекстные правки и т.п. Полностью на него перешёл (только окно надо сразу ставить 32k, и он подороже).
Хотя Болт ещё круче, но и стоит 50 бакинских в месяц. Впрочем, для рабочих задач я бы заплатил.

Лет 10 назад с такими llm-ками я бы делал проэкты раз в 10..100 быстрее (хотя бы просто за счёт набора текста :) вчера за 1 час нафигачил 500 строк js работающий прототип), и кучу незаконченных бы доделал. Ну какие наши годы.

/cp За джангу ↑↑↑ скоро поясню как правильно отвечать.

/srs Вкуснейшей рыбы (белугу и форель гор.копч.) мне сегодня привёз ковбой Джон Кодер курьер Кодерджан.
47😁33👍75🔥2
В продолжение вчерашнего: Болт умеет также самостоятельно реорганизовывать в проекте структуру файлов (например, когда объём кода растёт), и в целом заметно сильнее обычных ллм-ок. Он с нуля уверенно создаёт небольшие проекты, знания программирования при этом не требуется, просто чатитесь с ним, добавляете промптами новые фичи. Хотя это тонкий момент: если сперва сразу давать объёмное ТЗ, он пилит нечто неточное/расплывчатое, а если по шагам, то постепенно расширять проект ему становится сложнее.

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

Оказывается, что Болт опенсорсный! (не знаю правда, насколько он автономный и не завязан на что-то внешнее, кроме API к разным AI)

Сильная идея для стартапа: форкаем себе bolt.new как "трофейное ПО", и делаем русскую версию. Даже 50 долларов/месяц вполне себе норм цена за такой уровень -- если за рублики, чтобы не возиться с виртуальными валютными картами. Я первый подпишусь по такой цене.

btw, Anthropic через црушный Palantir предоставляет особо прокаченный Claude военным и разведывательным службам США.
48👍91
Фреймворк Django 5.x синхронный или асинхронный? ↑↑↑

И на этот вопрос, и на многие другие, где от вас хотят получить однозначный ответ, как раз старайтесь не отвечать однозначно. Ваша цель: продемонстрировать, насколько глубоки ваши познания в этой теме, с прицелом на конкретный проект, куда вы собеседуетесь, и насколько у них всё сразу будет лучше, если они уговорят вас с таким набором скиллов к ним прийти. (подробно разбираем это всё на курсе карьеры)

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

=

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

В старой джанге до 3й версии, по-моему, использовался WSGI, в новой при совместимости с ним также ASGI поддерживается, появились асинхронные вьюшки и асинхронные роуты.

Однако идеологически Django -- всё же синхронный веб-фреймворк, и ORM в нём синхронна более чем полностью и на асинхронных представлениях может падать (как минимум, пул потоков надо организовывать). Хотя в пятёрке можно действительно довольно гладко объединять в одном проекте синхронщину и асинхронщину (например, для общения с внешними API или сервисами вроде Redis, Mongo, Cassandra, Elasticsearch...). Таким образом вы всегда можете направить обсуждение в нужное вам русло.

smh купил за 49 руб. отключение рекламы в рутубе; более навязчивой никогда в жизни не встречал (разве что на кинопоиске).
42🤔11👍5🔥4💯4
АСД нужны вам только для собесов, говорили они...

От курсанта-джуниора:

Мне скинули последовательности, которые реально проверяются тестами (1-5 млн чисел, по числу в строке)
Так вот, для улучшения работы программы мне как раз прямо сейчас пригодились ранее пройденные threading, а также queue ( использую встроенные либу queue)
Спасибо за Ваши уроки, они максимально пригождаются сразу после изучения!


Подобных отзывов у меня многие десятки.

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

То, что "никогда в жизни тема АСД мне не встречалась на работе", ну значит вы работали всю жизнь на дерьмовых работах, чем гордиться-то. Получали за это хорошую зп? Ну, раз "нравится" ковыряться в big ball of mud ради денег, себя не уважая, продолжайте ковыряться дальше.

gtg вместо изучения АСД лучше поиграйте в доту2 новым персом -- боевым петухом.
3👍56😁188🐳5🤔2