Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
Как я сегодня голосовать ходил.

1. Как и в тестовом опросе про распил бедных деревцов, где-то с 8 до почти 10 сервера московской голосовалки лежали
(просто отваливались на /gatekeeper/not-available/), или постоянно сбоили. Всё осталось по старому, ну судя по всему, разработчики отрапортовали "успешно подготовились к новым нагрузкам", а на самом деле придерживались схемы "работает -- не трогай" (что, кстати, очень правильно:).

2. Я настроил ai-бота, чтобы он раз в минуту тестил страничку, и вот в какой-то краткий миг прошёл дальше. Поразительно: "не перезагружайте устройство, не покидайте страницу... не забудьте завершить голосование"...
Это уровень даже не детский сад, а ясли.

Что, сложно было добавить статус "не проголосовал, не получил бюллетень - не проголосовал, получил бюллетень - проголосовал" ? Чтобы я мог в любое удобное время галку поставить?

3. И зачем этот глупый обратный отсчёт на час?
Ну ок.

4. Жена тоже мучалась, как-то прошла дальше, как на моём шаге 2, и тут сервер завис.

7. И после того, как зашла снова, ей сообщили, что за вас уже проголосовал бот ваш бюллетень сгорел.

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

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

Резюме: московское ДЭГ и технически, и организационно -- это один большой анти-паттерн. Абсолютно всё в нём -- пример как не надо делать.

P.S. И вот как, кстати, голосуют продвинутые программисты :)
🤔38🤯15🫡82
Меня услышали в Оксфорде )))
Видимо, прочитали мой недавний пост про DDD + F# , и выкатили курс
https://www.cs.ox.ac.uk/softeng/subjects/DDD.html (через впн)

"Domain-Driven Design.
The programming language used in this course is F#, as it supports both object-oriented and functional styles of programming."


Начинается только в октябре 2024-го, а те, кто прошёл мой курс по F# (он правда не оксфордский, а кембриджский) и занимается на Hard Work, уже в теме!
❤‍🔥24🔥18👍14🙏2🏆2
На днях классную вакансию встретил:
"...команда, работающая с одной из самых больших баз в Оzon:
- MS SQL;
- >70 Тб данных и миллиарды записей в таблицах;
- >150 000 запросов и более 8000 инсертов в системе в секунду;
Наши цели:
- Переработать этот монолит на микросервисную архитектуру используя .NET, DDD и Clean code;
- Поддержать запросы бизнеса – увеличить пропускную способность системы в х30 раз."

Писали бы ещё они не на C#, а на F#, сам бы к ним пошёл -- дико уважаю вызовы в духе "в х30 раз", озонщикам респект 💥

Ну только не надо микросервисы пожалуйста 🙏
Поэкспериментируйте с akka, есть прекрасная версия для .NET с поддержкой F#.

От курсанта:)
"...Для генерации данных и инициализации этой генерации при первичном запуске приложения пришлось немного переписать логику, но вносить её в проект я не стал — подумал оставить существующую а-ля микросервисную архитектуру, где все генераторы зависят от основного проекта. Это вызвало обратную зависимость, что поломало все возможные сборщики. Придётся переносить (или дублировать) ту же логику генерации в основной проект. Пока иного пути для себя не вижу, c нетерпением жду курс по System design."
(только это больше не system design, а software design)

Потому что компании сперва создают огромное болото микросервисов, а потом при возникновении вполне предсказуемых проблем, говорят: "ой ёй ёй, распределённые системы -- это сложно". Это напоминает ситуацию, когда ребёнок бросает игрушки на пол, а потом говорит: "какой тут беспорядок!".
😁2419👍5🏆32
... В этой связи вчерашнее нытьё, что дескать "нагнали бюджетников, и они обрушили ДЭГ", это вообще детский сад штаны на лямках. Ну пусть в первый час ломанулись даже все 10 млн москвичей, это получаются единичные тысячи запросов в секунду. Любой сообразительный студент за пару дней напишет клон ДЭГ, где надо галки в простой форме ставить, на пыхапы + майсикл, который будет легко держать 2-3 krps на дедике за 100 долларов в месяц.

В Озоне пацаны в сто раз (!) большую нагрузку держат, а у них тоже пиковые нагрузки регулярно, и конкуренты ддосят, и хакеры непрерывно лезут за баблом, но вы когда-нибудь видели у них, у МОСЯ в целом, в онлайн-играх с миллионами пользователей, жалобы, что дескать "из-за беспрецедентного наплыва игроков/покупателей система работает в режиме электронной очереди", "чтобы ваша корзина не потерялась, не перегружайте устройство и не уходите со странички" ??

Поэтому, кто ради показухи заявляет, что ДЭГ работает хорошо, откровенно льют воду на мельницу врагов технологического суверенитета любимой Российской Федерации. Любые проблемы критически важных систем в сегодняшней ситуации надо рассматривать под микроскопом, и требовать публичного разбора всех ошибок.

Ох, живуча древняя старуха
С имячком красивым Показуха.
С внучкою Слащавенькою Лестью,
Со снохой Украденною Честью.

=

"Критика нужна и обязательна...
Если критика идёт снизу, мы не должны пренебрегать даже такой критикой, которая является правильной лишь на 5–10 процентов...
Между тем ясно, что благополучия нет и не может быть. Ясно, что есть недочёты, которые надо вскрывать, не боясь критики, и которые нужно устранять потом...
Борьба между старым и новым, между отмирающим и нарождающимся,- вот основа нашего развития..."
— Stalin
👍40🔥11🤯5👏31
Мой котик Барсик напоминает, что с 18 марта все цены космически взлетят вверх, и начнутся массовые репрессии. Клыки уже наточены!
Имею в виду исключительно курсантов моей Школы, конечно.

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

Но и плюсы конечно разные: помягче будет схема с предупреждениями, скидки до 50% кто быстро делает, консультирую курсантов теперь по темам, связанным с разработкой (включая фидбэк по заданиям hard work например), деньгами, мотивацией, по спорту, здоровью и отношениям (включая теперь и тех, кто прошёл все курсы). Пока 2-3 человека возьму на новый формат. Стратегически хочу во всё более индивидуальные консультации развиваться.

=

В целом, дорогие, всё что я пишу, конечно, на 51% ирония и стёб.
Простите, если не всегда понимаете мой глупый сарказм :) 🙏

Искренне уверен, у вас всё получится отлично!!!11 🚀🚀🚀
👍7315❤‍🔥4🤯4🫡3
По поводу нескончаемых разборок про накрутки опыта, "сломали найм в айти" и прочую чепуху... Зачем вообще тратить на это время? Какой результат вы ходите получить? Вы уже зарабатываете 500т, работая 4 часа в день? Вас рекрутерши регулярно в отель зовут? :)

Это как у Бузовой в чатах бесконечные срачи, ну так это маркетинг такой. Выгодоприобретатель от них ровно один: сама Бузова :)

Я вас чему учу на треке "Элитный программист"? Где ваш monkmode?

Не пишите в чатах, пишите код и пишите блог. Часики-то тикают!

А возникает это всё потому, что в подобных социальных играх вовсю работает треугольник Карпмана. Неадекватов в айтишке полным полно (думаю, более 50% :), рекомендации популярных личностей, которые они из-за своих неврозов выбирают себе в "наставники", считая за Избавителей и играя роль Жертвы, обычно воспринимают совершенно некритично -- например накручивают опыт, в реальности ничего не умея, или устраиваются на три вакансии и нигде не справляются с работой, ну и вполне закономерно, ощутимо теряют деньги, попадают в чёрные списки, и т.п. Таких действительно немало!
Естественно, они превращаются в яростных Преследователей своих вчерашних кумиров :) Понятно же, виноват кто угодно, только не они сами, но объяснить им это невозможно.

Не надо вообще играть в эти игры. Потому что, какую из этих трёх ролей ни выберете, всегда проиграете.
👍47💯7🔥43🫡2
Ну, началось: половина Рунета лежит ) Раздаю инет с мобильника.
А я сколько раз предупреждал: готовьтесь к 18 марта! Я всё-всё-всё сбросил на кучу флешек, и в 3-4 облака, а также настроил все компы на максимально долгую локальную работу. Будем заниматься через смс!

"18.03.24 ...в настоящее время интернет может сбоить в некоторых регионах России, выполняя Предписания Кабмина РФ о необходимости скорейшего проведения ремонтных работ с целью перевода популярных соцсетей, банкинга и операторов связи страны на новые технологические платформы в срок до следующего года."

И это только разминка.
😁459👍4🫡3
У нас уже 19 20 блогеров!
=> skillsmart.ru/blog/
Если вам интересно, почему ваш блог -- не пример, можете у меня спросить )
=
Не надо пожалуйста "делиться своими мыслями" или "учить других". Пишите конечно, если хотите, но это вам быстро наскучит, просто пустая трата времени, и никому это не нужно.
Вам надо формировать пресловутый "личный бренд", чтобы эйчары, почитав ваш блог, приползали к вам на коленочках.
Хотя бы немножечко известный программист всегда зарабатывает ощутимо больше, чем неизвестный с аналогичными скиллами.
32👍168🤔7🫡4
AI будет учить всех желающих программированию 24/7, подробно поясняя все примеры и решения, говорили они...
😁57😎4👍3🤯3
Кто-то спрашивал по 35-му материалу СильныхИдей "Пишем безошибочный код", пример type oriented programming, make illegal states unrepresentable ...
Ну вот сделал совсем простой :)
А для Java это будет интерфейс Runnable, только надо ещё явно вызывать run().
🤔50👍7❤‍🔥522
"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