Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
Сегодня упал хостинг, где я размещаю свои новые курсы (TDD, BDD, лямбда-исчисление... а также курсы для начинающих с нуля).
Собственно единственная причина, по которой я не использую свою собственную прекрасную и неуязвимую обучающую платформу (которую делал сам на 100%), что до сих пор в России нету НИ ОДНОГО автономного сервиса для автоматизации приёма платежей.
Всяческие а- б- в- т- ю- я- кассы, с настройкой которых куча головняка и под которые приходится пилить поверх едва ли не полноценный собственный биллинг, чтобы сделать вообще элементарнейшее: чел оплатил заданную сумму через стандартный интернет-эквайринг, и ему тут же + на почту сбросился ключик доступа или логин пароль, и всё. Я бы за такое и 15% отдавал, но нет. Вот и приходится выкручиваться через всяческие внешние сервисы хостинга курсов, бусти-шмусти, самопальные платёжные боты-фиготы и прочую муть...

Я так понимаю что Selectel -- это же почтовый сервис? Почему тогда весь хостинг курсов упал, ну ладно бы только почта заморозилась. Детский сад штаны на лямках... Сплошные имиджевые потери, не говоря уже о материальных, но PO как правило так и остаются непробиваемыми, сколько им не тверди о важности software design.
Впрочем, совершенно не удивлён, и дальше, по мере роста объёмов кода, безумно ускоряемого "с помощью" AI, будет только хуже.

=

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

"Ключевой вопрос любой зависимости независимо от её типа, очевидно, такой: "Зависит ли А от B?".
Любая зависимость характеризуется как минимум тремя параметрами:
1) семантика или конкретная вычислительная модель,
2) ключевые свойства,
3) пространство допустимых изменений.

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

В этом высказывании слово "зависеть" используется тремя разными способами. И дело не столько в том, что каждый способ использования "зависеть" -- это ответ на разные вопросы. На самом деле это разные вычислительные исполнительные модели."
🤔41👍14🐳21❤‍🔥1
Завтра на Госуслугах "стартует аттестация айтишников" (или пока приём заявок от потенциальных подрядчиков), и с лета она (по идее) полноценно заработает как Национальная система подтверждения ИТ-компетенций. Не получишь сертификат - ходи голодный :)
В целом одобряю, лучше хотя бы так, чем вообще никак.
(надеюсь это будут не передранные тесты сертификаций оракла и микрософта, или, что ещё хуже, нагенерённые жпт:)

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

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

=

Но пока с нетерпением ожидают завтрашнего утра потенциальные кандидаты на распил тендер очередных миллиардов на госпроект со слабо понятной эффективностью (будет ли такой сертификат давать хотя бы +2% к резюме? очень большие сомнения, если для компаний не будет кнута) ,

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

Сейчас там два набора тестов, постепенно буду добавлять:
Знаете ли вы нововведения C# 9 ?
Знаете ли вы нововведения Spring Framework 6 ?


❤️❤️❤️❤️❤️
527👍6🤔2🔥1
Это хорошо известная сеть платных клиник, обслуживание топчик, врачи супер, к кандидату наук по-любому профилю легко записаться на консультацию за пару дней, а сам приём стоит $30 + доп. процедуры 50-70 долларов, анализы немного подороже конечно. 5 лет к ним хожу регулярно и жутко доволен, в своей реанимации они меня спасли однажды от смерти 🙏😇

За последние годы их стоимость растёт ежегодно примерно на миллиард рублей...
да вот только они экономят лишнюю тыщу долларов на качественном фронтендере )))
Так-то это чисто джуниорский баг: наверняка вместо "name" по невнимательности указали другое поле, какой-нибудь "kind".
Отдел QA? А зачем он нам, и так сойдёт.
фигак фигак и в прод, классика 😬

Курсантам в СИ поясняю контринтуитивную вещь, как автоматизировать тестирование визуальных аспектов (когда в UI что-то пошло не так). Сегодня кстати с помощью AI это значительно проще делать.

На госуслугах планируют тестировать "знание Python, Java, Git...", но зачем, если такие баги - следствие отсутствия малейших признаков грамотно организованного жизненного цикла продукта. Сертификаты надо выдавать прежде всего техдирам, тимлидам, начальникам ИТ-отделов, CTO (это именно их ошибки обходится в сотни/тысячи/миллионы раз дороже программистских), проверять их понимание - как не допускать подобные ошибки,
и без таких сертификатов и близко не подпускать к рабочим процессам.
👍52❤‍🔥1553🤔3
Готовимся к вечеру пятницы: компьютерная версия русской рулетки =>

в баре усаживайтесь всем дримтимом за стол, каждый со своим ноутом, перезапускаете ОС и из чистого списка убиваете случайный процесс (например просто по случайному номеру в списке смотрите pid) ☠️
Выигрывает тот, чей комп ещё будет продолжать работать 🤘
Ставки на победу придумываете сами 🏆

Винда:
taskkill
taskkill /PID 42 /F

Линукс/Мак:
ps -ef
kill -9 42
🤔29😁14🏆14👍3🐳2
На неделе для курсантов добавлены...

...в раздел "Элитный программист" -
59) Почему вам не стоит беспокоиться о составлении идеального плана
Микрозадачи и предварительное планирование нужны только для одного: чтобы свести к минимуму трения в работе. Да, но как это сделать правильно??

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

=

Если вы вдумчиво изучаете и регулярно применяете все без исключения рекомендации моих треков КК, ЭП, БПЗ и СИ+hardwork, без сомнения достигнете 10 программистских совершенств, а также обретёте 37 начал просветления computer science, в числе которых 4 состояния сверхвнимания, 4 сверхспособности и 5 сверхсил.
139👍10💯32🔥2
Консультировал на днях пару команд, моё многолетнее понимание современного мира разработки программного обеспечения стало ещё крепче. Выражается оно одной фразой:
Это просто кучка случайных людей в комнате/в чате, бесконечно спорящих друг с другом...
...и соответственно передающих друг другу в таком формате взаимодействия лишь кривые и ошибочные паттерны софт- и хард-скиллов.

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

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

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

Я для начала предлагаю совсем атомарные вещи: например, давайте попробуем просто выполнять деплой почаще, и посмотрим, поможет ли это.

Но мой принцип: никогда ничего не предлагать в лоб. Типа вот я порекомендовал деплой, они так стали делать, и у них что-то улучшилось. Да нифига.

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

Но и то, что я рекомендую потом, уже с учётом многомерности проявившихся проблем, тоже не примитив на уровне "пооптимизировать бизнес-процессы", мои дальнейшие советы -- это уже планы внутри планов внутри планов.
1👍69💯4🤔3❤‍🔥2🤝1
Статически типизированные функциональные языки обладают свойством, которого больше почти нигде нет: если ваша система компилируется, то она обычно и будет работать (почти) как надо с первой попытки. А уж если это система зависимых типов, которая может доказательно гарантировать, что функция делает именно то, что ей и предназначено формальной спецификацией...

Я же говорил тебе, что так уже кодить нельзя
А ты не понимаешь ничего и ничего не хочешь менять
А я учил тебя целый год, тратил время целый год
Ты думала, что я шучу, и до сих пор не можешь понять...
Ты выглядишь так несовременно рядом со мной
.
43👍10🔥10🤔6😁3
Собираюсь на весну-лето подзаработать курьером, на вело.рф смотрю аренду байков яндекса, но при попытке "Узнать адреса" меня посылают куда-то совсем непонятно куда )))

taximeter:// - что это за протокол такой лол

...Понятно, что в каком-то манифесте указано
<data android:scheme="taximeter" />
чтобы прога аренды на мобилке стартовала.

Ну добавьте для браузеров несколько строчек кода, YandexGPT в помощь:

const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (!isMobile) console.log("Not a mobile device");

=

Кстати, html-код лендинга вело.рф, где считанные десятки фраз и одна картинка, занимает 490 Кб, Карл. Первокурсник делал в каком-то визуальном редакторе? )))
Любой жпт нарисует такое за одну минуту и раз в сто компактнее.

А начинается этот код так:

<!DOCTYPE html>
<html class="ua_service_turbo-lpc" lang="ru">
😁589
Рекомендация в варианте яндекс-жпт

const isNotMobile = !(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));

как-то смутило, а что тут собственно делает ежевичка (ведь давно уже rip)? Я кстати где-то в 2013-м пилил для неё какую-то гиперказуальную игрушку, даже велись переговоры о предустановке её на всех ежевиках в России, но... грянул 2014-й :) и под санкциями они ушли, а потом и по всему миру сдохли. Последствия (с) :)
Но игра несколько сотен долларов успела заработать в конечном итоге. А больше всего на том проекте заработал я: программисты-исполнители всегда в плюсе )))

=

Я проверил жпт, дипсик, алибабу, яндекс, клод, perplexity, и даже хвалёный свежий грок! выставлял вроде везде на "подумать поглубже", смотрел все последние версии, самые дорогие. И это весёлая компания везде выдаёт практически идентичный код - с BlackBerry - с точностью до наименования переменной.
Собственно легко гуглится, что украден он был конкретно отсюда:
https://stackoverflow.com/questions/3514784/how-to-detect-a-mobile-device-using-jquery
Вот как ежевичка влезла: оригинальному посту 14 лет.

=

Гемини, квен и жпт4o затупили, возможно "сами написали" :)
выдали только одну проверку под андроид, даже ифон не добавили.

=

А несомненными победителями нашего рейтинга становятся три брата-близнеца:
жпт 4o мини , лама и гигасбер (который в 20 раз дороже ламы) 😂

if (window.innerWidth > 768) { /* код для десктопа */ }
😁52👍4👏41
Продолжаю работу с курсантами 🤓

...Продвинулся в качестве проектирования классов (спасибо большое 1-му курсу по ООАП). Возможность применить в работе: быстрее и эффективнее проектирую классы по АТД.
(благодаря этому в короткий срок переписал один проект, который был откровенно запутанно реализован).

...Хотел сделать как следует, но если честно чуть не запутался. И оставил основное. Конечно тут много в целом дорабатывать и добавлять.
Интересно, сложность в улавливании всех взаимосвязей программы это неопытность или отсутствие каких-то фишек восприятия и мышления?
Я: Проблема улавливании всех взаимосвязей в программе такая, что мозг не может удерживать более семи элементов одновременно, и как делать свёртку сложных многомерных понятий так чтобы они были уму понятны, подробно разбираем на второй части курсов и в СИ+HW.

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

...Действительно войти в айти за 3 месяца за 200 тысяч (средняя цена сегодняшних курсов по программированию) уже звучит как издёвка.

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

...Да, в работе уже натыкался на такие вещи, было страшно видеть десятки таблиц и полное отсутствие консистентости...

...Соответственно, при даже незначительных изменениях в бизнес-логике могут потребоваться существенные изменения в системе. В целом, я понимаю, что это означает провал дизайна, но пока что трудно при реализации не фокусироваться на имеющихся данных, т.к. они всё решают. Как следствие вышесказанного, довольно трудно проектировать тесты в соответствии с TDD, т.к. не удаётся абстрагироваться от конкретики данных. После изучения материалов у меня сложилось впечатление, что методология BDD может быть крайне полезной именно с привязкой в проектам в области анализа данных, т.к. помогает более чётко определить спецификацию проекта именно с точки зрения бизнеса.

...У меня неприятность(. Не разобрался с гитом и не пушил изменения, в итоге пара последних заданий не сохранилась, делаю заново.

=

В честь 23F я добавил для всех с кем мы (не)занимаемся развитием карьеры, новые, потенциально большие скидки - см.п.10.1.1 правил занятий. Если будете их придерживаться , последние курсы могут стать практически бесплатными.

Ну а для тех с кем мы развитием карьеры занимаемся, правила я постоянно уточняю, дополняю и формализую, иначе курсанты бесконечно вязнут в бесконечном изучении технических темок с карьерным КПД 2%.

Обновлённый список наших блогеров. Требования к ведению блога я тоже серьёзно повышаю: пусть лучше останется один хороший блогер, чем 10 кое-каких.
147🤔6👍5👏2🔥1
Что-то планировать и тем более бояться, что будет после того как AI научится программировать как сеньор, ну просто несерьёзно.

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

Может быть рептилоиды захватят мир, может быть сразу его уничтожат, но более вероятно, что в первые часы/дни AI, рекурсивно себя улучшая, захватит почту телефон телеграф интернет, энергосети, производство,

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

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

Но самые критические изменения, которые перестроят вообще всё, произойдут в первые часы, максимум дни. Поэтому волноваться, не отнимет ли AI работу, смысла нету. Если он сможет её отнять у сеньоров, тогда у всех человеков сразу возникнут проблемы качественно иного рода.
50💯18👍15🔥4🤔1
Главный вопрос Software Design: кто контролирует ситуацию -- вы или код, который вы написали?
Если вы не кантрол-фрик, дела ваши плохи: вам предстоит проделать массу работы, чтобы разобраться в этом, и чем дальше, тем ситуация будет становиться всё хуже и хуже. Особенно если вы пишете код "с помощью" AI.
👍54❤‍🔥3🏆2🫡1
Какое главное различие между "Джуном" и "Сеньором" (независимо от того, на каких официальных должностях они работают) ?

"Джун" получает простые требования и выдаёт сложный код.
"Сеньор" получает сложные требования и выдаёт простой код.


"Умный человек решает проблему. Мудрый человек избегает её"
— Альберт Эйнштейн
1💯55👍242🔥1👌1
Продолжаю работу над новым треком Ясные Системы, где систематизирую различные эвристики программной инженерии и computer science. Так, скоро будет большое дополнение для курса TDD.

Ещё немного в дополнение моей любимой темы про частые деплои -- из неё естественно следует эвристика частых комитов.
-- Работаю над чем-то одним за раз (c учётом 109-го материала СИ "Жёсткий хейт SOLID | SRP");
-- Выполняю рефакторинг с прицелом на потенциально возможные изменения функциональности (генерализация, дефункционализация...);
-- Делаю код максимально несвязанным.
Рекомендую в частности не очень распространённый, но крайне полезный git bisect
😎32🔥14👍12👏62
Онлайн-интервью стремительно умирают, ещё какая-то вялая борьба ведётся, но без сомнения в конечном итоге дипфейки и жпт победят.
Уверен, что скоро на собесах наоборот будут явно требовать грамотной работы с AI, но уже на уровне проектировщика/архитектора/техлида, для чего соответственно будут особенно востребованы знания и умения программной инженерии и computer science.
👍52💯13🔥5😁1
С первым миллиардом пользователей всегда сложнее всего.
😁636👍5💯4🏆3
У условной удалёнки, вне зависимости от того чем вы занимаетесь, есть такой минус, что постепенно дичаешь :) Поэтому я периодически хожу в кафе или в фудхолл, где занимаюсь чем-то, что не требует медленного мышления S2 (например, пишу код:).
Но и там тоже свои минусы, нередкая ситуация: два человека рядом разговаривают о политике. Я надеваю наушники, чтобы заняться работой, час спустя вынимаю их -- а они всё ещё говорят о политике.

Первый экспериментальный набор на мои новые курсы для начинающих с ПОЛНОГО нуля в начале февраля прошёл успешно, три человека (из 10) так хорошо прошли первый курс-тест "Годитесь ли вы в программисты?", что я их взял заниматься на моих последующих классических курсах.
По обратной связи я этот курс немного подправил, хотя он и так уже отшлифован сотнями курсантов, сегодня делаю второй набор.
Напомню что набор доступен только донам (платным подписчикам) в группе вк "Материалы для начинающих программистов", 7 мест (набор ЗАКОНЧЕН, за полтора часа).

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

... Так вот, чашечка лавандового рафа с синнабоном, бесследно уничтожаемая за полчаса, стоит как 500 рублей подписка доном (+куча ценной инфы по саморазвитию для начинающих и не только) + 999 рублей за курс, после которого вы поймёте, программирование - это ваше или нет, и стоит ли вкладывать 100500 рублей в курсы "в айти за полгода на 150k".
141👍145🔥3❤‍🔥1
Дал клоду 3.7 (со всеми этими дипсинками и формал-режимом) простую задачку, уровень лабы первого курса (в плане программирования конечно) -- сделать простенькие анимации для Окружности в HoTT: базовая точка, которая может образовывать Петли (просто бегает по кругу), и элементарная деформация (демонстрация гомотопической эквивалентности).

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

3.7 зафигачил 100 строк: сперва вроде работает, но когда переключаешься по кнопочкам разных анимаций, визуализация сбивается. Я ему пару раз подсказал "как должно работать", он вполне ожидаемо стал вносить локальные приляпки, из-за чего возможность какого-то дальнейшего расширения скрипта быстро сошла на нет.
2722👍8❤‍🔥3🐳3
Рынок русского ит-менторства не просто растёт: он трещит по швам.

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

Результат?

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

Если бы я сегодня искал ментора, то вот на какие критерии посмотрел прежде всего:

- Блог. Насколько регулярно человек пишет по своему профилю менторства, ну хотя бы полгода, что минимально показывает серьёзность настроя.
То есть хотелось бы читать (а не смотреть) хотя бы по одному техническому материалу в неделю (на любой платформе, от бусти до хабра),
и чтобы материал был достаточно глубоким, а не поверхностными советами "Эти 7 Правил Кодирования Знают Только Синьоры", нагенерированными нейронкой,
и достаточно объёмным.
В программировании, где мы постоянно пишем код, рациональное умение "рассуждать письмом" крайне актуально и показательно.

(Я за семь лет написал в основном паблике вк где-то под тысячу заметок и сотни серьёзных материалов в треки СИ,КК,ЭП,БПЗ, не говоря уже об этом блоге.)

Вы знаете хотя бы одного такого ментора?


- Условный Гитхаб. Насколько человек реально способен писать код по темам, по которым он менторит? А не то что просто рассказывать, а вот я работал сеньором в МОСЯ, да мы там делали микросервисы на 100500 krps, и щас я вас этому обучу. В мобилках, фронтенде, геймдеве с этим кстати проще: либо можешь показать свой сайт, приложение, игру, либо нет.

(Я например сделал сам с нуля все мои учебные сервисы без каких-либо фреймворков: mysql, php, f#, html/js, модули тестирования задачек на java, c#, f#, python, go... и с ними ни разу не было проблем, даже при переезде на другой хостинг).

Вы знаете хотя бы одного такого ментора?


- Педагогические способности.

Это измерить сложнее всего - насколько человек способен пояснять сложные темы так, чтобы они были понятны и школьнику, и пенсионеру.
Ну наверное отзывы и их регулярность (у меня их тоже под тысячу),
чат занимающихся (этого у меня принципиально нету, но ежедневные индивидуальные чаты по нескольку десятков человек, причём за последние пять лет я не сделал ни одного дня пауз, за исключением в 2022-м, месяц в реанимации:),
и сколько времени человек занимается менторством. Если нету скилла более-менее качественного обучения, вряд ли человек продержится хотя бы 3-4 месяца, занимаясь только этим.

Вы знаете хотя бы одного такого ментора?

=

Ну ok, одного-двух я знаю :) но это и ВСЁ на весь Рунет.

Но я бы крайне хотел, чтобы таковых было как можно больше.
153👍1695🫡2
Дорогие мои ученики, простите меня за то, что мне, как некоему Glasgow Haskell Compiler, далеко не всегда получается сразу вывести тип вашего понимания.

Я думал, что мои объяснения будут как Хиндли-Милнер: универсальны и легко выводимы из тех положений, что вам даю, но я наверное больше похож на TypeScript с его any -- слишком много допущений, и недостаточно строгости. Или на Y-combinator -- чрезмерно закрученный и бесконечно рекурсивный. Или на null pointer -- источник неожиданных ошибок и разочарований.

Мои инспекции вашего кода бывают как linter на стероидах: я нахожу малейшие ошибки, даже если они как unused variable -- безобидные и не влияющие на результат.

Я понимаю, что многие мои задачи похоже скорее на P vs NP: вы потратили кучу времени, но так и не смогли найти полиномиальное решение. А я, как старый компилятор, не дал вам достаточно подсказок, и вы застряли в бесконечном цикле отладки.

Обещаю, что буду и дальше стараться становиться более терпимым к вашим implicit conversions. Чтобы в каких-то ситуациях быть как Rust -- безопасный, предсказуемый и без undefined behavior, а в других — проще, как Python с минимумом скобок и максимумом смысла.

Спасибо за ваше терпение, вы -- мои unit tests, которые помогают мне стать лучше, и через все эти Странные Петли в конечном итоге улучшают и вас.
❤️❤️❤️🙏🙏
177🙏22❤‍🔥9😁9🥰2