Опять попал в список контрибьюторов Rust в 1.96.
Но моё изменение в анонсе даже не упомянули из-за нишевости.
Надо бы делать это почаще и побольше.
Но моё изменение в анонсе даже не упомянули из-за нишевости.
Надо бы делать это почаще и побольше.
🔥27❤3🤡1
Хотел поделиться с вами задачкой.
На стыке топологии, геометрии и сетчатых графов.
Есть множество плотно упакованных полимино (больше 1), все из которых являются топологически дисками.
Нужно доказать, что для любого полимино можно выбрать квадрат и отдать соседнему полимино, так что бы они по прежнему оставались дисками.
Проще говоря
Для справки:
Полимино - фигура собранная из квадратов соединённых сторонами.
Является диском, если экстерьер является связным по сторонам квадратов. То есть нет пустых квадратов "внутри" полимино.
На стыке топологии, геометрии и сетчатых графов.
Есть множество плотно упакованных полимино (больше 1), все из которых являются топологически дисками.
Нужно доказать, что для любого полимино можно выбрать квадрат и отдать соседнему полимино, так что бы они по прежнему оставались дисками.
Проще говоря
Для прямоугольного множества квадратов A, и множества полимино дисков P1, P2... Pn, где n > 1.
Pi∩Pk = ∅ для i≠k.
P1∪P2∪...∪Pn = A.
Доказать что ∀i,∃x∈Pi, Pi = {x} или Pi-{x} - полимино диск и ∃j≠i, Pj∪{x} - полимино диск.
Для справки:
Полимино - фигура собранная из квадратов соединённых сторонами.
Является диском, если экстерьер является связным по сторонам квадратов. То есть нет пустых квадратов "внутри" полимино.
❤2👍1
Я раньше занимался всяким сетевым программированием. Но никогда еще не решал проблемы partial-partitioning'а.
То есть ситуации в много-узловой системе, в которой только коммуникация между какими-то парами узлов отваливается.
В отличии от, например, простой ситуации, где узел просто от сети отключился. Его тогда можно просто заменить. А поломавшийся узел терминируется.
Но вот что делать в p2p системе, в которой только определенные пары пиров не могут общаться. А им надо!
Пока не вижу вариантов кроме как таким пирам отключиться самим.
То есть ситуации в много-узловой системе, в которой только коммуникация между какими-то парами узлов отваливается.
В отличии от, например, простой ситуации, где узел просто от сети отключился. Его тогда можно просто заменить. А поломавшийся узел терминируется.
Но вот что делать в p2p системе, в которой только определенные пары пиров не могут общаться. А им надо!
Пока не вижу вариантов кроме как таким пирам отключиться самим.
Я пользовался VsCode больше 10 лет.
Сегодня я решил сбросить это ярмо.
Сил больше нету терпеть это тормознутое жаваскриптовое поделие на электроне.
До ИИ бума у меня было около нуля претензий к перфу. Пусть оно и жрало оперативку и конечно больше проца. Но работало шустрее тех же JetBrains'овых IDE'шек.
Я всё ещё пишу большую часть кода руками и читаю всё, что генерирует шайтан-машина.
Мне всё ещё нужен редактор кода, а не промптилка со свистоперделками.
Хотя я люблю свистоперделки.
Но как бонус.
Настраиваю NeoVim короче.
Сегодня я решил сбросить это ярмо.
Сил больше нету терпеть это тормознутое жаваскриптовое поделие на электроне.
До ИИ бума у меня было около нуля претензий к перфу. Пусть оно и жрало оперативку и конечно больше проца. Но работало шустрее тех же JetBrains'овых IDE'шек.
Я всё ещё пишу большую часть кода руками и читаю всё, что генерирует шайтан-машина.
Мне всё ещё нужен редактор кода, а не промптилка со свистоперделками.
Хотя я люблю свистоперделки.
Но как бонус.
Настраиваю NeoVim короче.
🔥15👀3❤2🤷♂1👍1
Сегодня отвел старшую дочку в 1й класс.
А завтра первые уроки будут.
Волнуюсь за неё больше, чем когда сам пошёл в школу.
А завтра первые уроки будут.
Волнуюсь за неё больше, чем когда сам пошёл в школу.
👍14❤6😁1
Media is too big
VIEW IN TELEGRAM
После нескольких попыток не делать движок, я снова делаю дальше Аркану.
Сегодня на ней можно написать Арканоид в 600 строк.
Дальше буду делать редактор сцены настоящим. Потому что пока что там только посмотреть можно.
Сегодня на ней можно написать Арканоид в 600 строк.
Дальше буду делать редактор сцены настоящим. Потому что пока что там только посмотреть можно.
❤6👀2👍1🥰1
На 3й месяц активного использования ИИ для кодинга я примерно такую стратегию вывел.
Я больше не пишу одноразовый код. Совсем. ИИшка может делать тяп ляп не хуже меня и сильно быстрее.
Я так же использую ИИ для экспериментального кода. Если я ещё не представляю как надо, то очень эффективно получается. Слоп в принципе работает, но я четко вижу как не надо делать и почему в этом коде. Приходит просветление и с ним осознание, как надо делать. И руки чешутся взять и переписать.
Ну и последняя категория - бойлерплейт или подобный код, где есть только один способ его написать. Проверяю конечно. Но чаще всего я написал бы то же самое.
А сегодня я задал ИИ решить ту же задачу в пете, которую я уже решал на работе.
Если бы я руками это написал был бы копирайт инфринджмент. А так это не я, это слопмашинка виновата :)
Я больше не пишу одноразовый код. Совсем. ИИшка может делать тяп ляп не хуже меня и сильно быстрее.
Я так же использую ИИ для экспериментального кода. Если я ещё не представляю как надо, то очень эффективно получается. Слоп в принципе работает, но я четко вижу как не надо делать и почему в этом коде. Приходит просветление и с ним осознание, как надо делать. И руки чешутся взять и переписать.
Ну и последняя категория - бойлерплейт или подобный код, где есть только один способ его написать. Проверяю конечно. Но чаще всего я написал бы то же самое.
А сегодня я задал ИИ решить ту же задачу в пете, которую я уже решал на работе.
Если бы я руками это написал был бы копирайт инфринджмент. А так это не я, это слопмашинка виновата :)
😁8👍3❤1
Сегодня снова загадка.
Вот в этом коде будет ли соптимизирован bound check в последнем выражении в релизе?
upd: исправил код
Вот в этом коде будет ли соптимизирован bound check в последнем выражении в релизе?
fn foo<T>(slice: &[T], a: usize, b: usize) -> &[T] {
assert!(slice.len() >= a + b);
&slice[slice.len() - a - b..][..b]
}upd: исправил код
❤1