Откомментил статью про Atomic подход и задумался - а как в реальности сделан полиморф в вар3? И, оказывается, llm знают прям дофига благодаря всяким модерским сообществам и саммари по техническим статьям. С ней можно пообщаться про разницу в реализации абилок warcraft, heartstone, slay the spire и mtg. Последние несколько дней вместо книжки перед сном именно этим и занимаюсь :)Она ещё и кучу реп классных посоветовала. Например, полноценную реализацию mtg, которую тоже с копайлотом, встроенным в гитхаб, изучаю.#comment #package
NuclearBand
@nuclearband · 434 подписчика
Посты канала NuclearBand в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Пишу про геймдев и программирование в целом.#everythingelse#comment#management#subscription#work#theory#games#fp#idea#gamejam#patterns#statemachine#visitor#tools#market#codestyle#package#devlog#ecsАвтор:@Tr0sT
Посты канала
У нас есть RewardsInfoData, UniqueRewardInfoData. который IUniqueRewardInfoDecorator, abstract BaseChestReward с 20+ наследниками, среди которых, например, ClanGiftChestReward и ClanGiftMergedChestReward. RewardPackWrapper и RewardPack, внутри которых RewardElement и другие, для которых тоже есть RewardElementWrapper. Есть какой-тоRewardEntry. Не забыть про IRewardDescription, от которой abstract RewardDescriptionWrapper. Ещё BattlePassRewardSlot, который использовать всех удобнее, поэтому он используется далеко не только в батлПассах, при этом это не вьюшка слота, а данные, а ещё есть BattlePassRewardInfo, IBattlePassLevelRewardWithStat.e И это я ещё не говорю про RewardByDay, RewardByProgress, RewardByThrone. И IFestivalPrize с полтора десятка наследников, но можно реализовывать схожий функционал другими способами, не используя его. А ещё RewardInfoFromDescription.Есть ICreatorOfRewardsInFestivalGoodDescription у которого RewardCreatorOfRewardsInFestivalGoodDescriptionWithDiffSpacing пример наследника. Есть ISpecialFestivalRewardViewFactory, RewardDescriptionFactory, RewardsFactory, RewardsFactorySupplier, миллион наследников IAllFestivalRewardListFactory.И это всё только "реварды", а есть ведь ещё товары RewardListGoodBase и прочие для RewardListGoodEntity и RewardListGood. Есть новости AdvancedRewardsNewsMessage с очередным паком наследников под все виды ревардов, миллион видов RewardNotification...А ещё вьюшки - RewardSlotHolder, BaseRewardSlot, IRewardSlotVisitor, IRewardSlotBuilder, IRewardShortDescription, IRewardSlotGenerator - это только часть базовых классов. И это ещё я не перечислял вьюмодельки...Вообщем, я не вывожу, реально не вывожу. Может жара, может накопленный стресс и усталость, или то что у всех отпуска и ко мне каждый день приходят в гости, но я не вывожу.Ах да, у нас ещё есть просто Reward.#work
[2/2]В итоге появилось 10 решений, и я занял третье место с новым алгоритмом, получив 10к призовых. Бюджет оказался больше, чем я ожидал, так что я доволен, но обидно что не получил доплату за то, что единственный предложил рабочий алгоритм в первоначальный срок. Мой итоговый алгоритм был самым сложным, но эта сложность только ухудшила результат.Первые два места заняли решения с бинарным поиском. Я думал, что моё "адаптивное деление" (делю сегменты не пополам, а на n/(max(k, 2)), где k — число единиц в области) будет лучше, но оно оказалось хуже. Без этой "оптимизации" я всё равно был бы третьим, потому что решал задачу на одномерном массиве со "спиральной" конвертацией, а победители делили прямоугольники пополам, что лучше подходило под тесты.Кстати, код я почти не писал — всё делал через Grok. Но его рекурсивное решение не подходило под API проверки, и он не мог без ошибок переписать рекурсию в цикл. Пришлось оставить рекурсию, но запускать её асинхронно в фоне, а для проверки результата использовать TaskCompletionSource, такой вот хак. #work
Ещё по теме «Игры»
ИгрыСеверная Корея украла 76% криптовалюты, взломанной в 2026 году, всего двумя атакамиИсследователи TRM Lab опубликовали отчет о кражах криптовалюты в текущем году, представив ряд интересных цифр.Северокорейские хакеры из двух разных групп украли примерно 577 миллионов долларов США с начала 2026 года, что составляет 76% всех потерь от взломов криптовалютных активов по состоянию на апрель. Вся сумма была получена злоумышленниками в рамках двух инцидентов. Взлом Drift Protocol, в ходе которого злоумышленники получили 285 миллионов долларов США, включал в себя три недели подготовки к атаке и месяцы социальной инженерии для компрометации подписантов протокола. В результате полная утечка средств произошла примерно за 12 минут.Взлом KelpDAO, в результате которого украдено 292 миллиона долларов США, был осуществлен с использованием уязвимости в архитектуре моста LayerZero, предусматривающей наличие одного верификатора. Доходы от взлома были отмыты через децентрализованной кроссчейн-протокол THORChain.Исследователи отмечают, что THORChain обработал подавляющую часть доходов от взлома Bybit в 2025 году и KelpDAO в 2026 году, конвертировав сотни миллионов украденных ETH в биткоины, при этом ни один оператор не захотел заморозить или отклонить переводы. Это сделало THORChain предпочтительным инструментом для крупнейших ограблений, совершенных Северной Кореей.Совокупный объем краж криптовалюты, совершенных Северной Кореей, с 2017 года превышает 6 миллиардов долларов США.Источник: https://eyes.etecs.ru/r/e52c35#криптовалюта #кражи #СевернаяКорея
Швейцарский стол#golang"Швейцарская таблица" - это продвинутый движок для хэш-таблиц, который сейчас используется в новых версиях Go. Идея в том, чтобы отойти от примитивного линейного поиска, когда при коллизии мы просто тыкаемся в следующую ячейку, и использовать хитрую последовательность шагов, которая не дает образовываться "пробкам" из занятых слотов. Но все соль в группровке. Вместо одного ключа в ячейке мы храним сразу по 8 штук, и для каждой группы добавляем специальные контрольные байты (младшие 7 битов хэша). Это позволяет за одну операцию сравнивать с хэшем все восемь элементов через битовые трюки с uint64, а это очень быстро. На практике хоть обычный подход и шустрее на малых объемах, swiss table раскрывается при высокой заполненности: если забить ее под завязку, она тормозит в разы меньше обычнойhttps://kodikapusta.ru/news/991-shveitsarskii-stolПоддержать проект на boosty: https://boosty.to/kodikapusta
PowerToys 0.99: управление окнами, мониторами и командами по-новомуMicrosoft выпустила обновление PowerToys 0.99 с тремя ключевыми новинками. Утилита Grab And Move позволяет перемещать и менять размер окон, удерживая ALT + ЛКМ/ПКМ в любом месте — особенно удобно для больших экранов или «потерявшихся» окон.Power Display добавляет иконку в трей, откуда можно регулировать яркость, контраст и цветовые профили подключённых мониторов без физических кнопок, а также переключаться между сохранёнными профилями — даже автоматически при смене темы Windows.Палитра команд стала мощнее: теперь она показывает текст и изображения, хранит историю калькулятора, поддерживает закрепление поверх других окон и компактный режим.Также обновились ZoomIt (скриншоты с прокруткой и OCR), Диспетчер клавиатуры (ручная настройка переназначений и отключение клавиш) и интерфейс всего набора — стал современнее и легче в ресурсах.#софт @pcTeapot
ВТБ (2025)/** * Необходимо получить список пользователей, * которые состоят в группе, начинающейся на "Х" */class SomeConsumer { public List<User> consume(Stream<User> usersStream) { //TODO return usersStream. }}@Dataclass User { private String username; private Integer age; private List<Group> groups;}@Dataclass Group { private String name; private String description;}#vtbПрислать задачу | Подписаться
Закон ЖИЗНИ: То, в чём вы нуждаетесь в данный момент времени, обычно находится прямо у вас перед носом. ЗАПОМНИМ! Никогда нет ничего неправильного в любом выборе, который мы сделали!Мы никогда не влюбляемся в человека случайно!На глубинном, духовном уровне влечение и притяжение двух конкретных людей друг к другу заключается в том, что эти два человека должны узнать друг от друга что-то такое, чего больше никто не поможет им узнать!Мы всегда «находим» партнера, обладающего теми качествами, которые помогут полностью раскрыть наше истинное Я и достичь нашего наивысшего САМО-выРАЖ🌞ения☝️Наши партнёры отражают наши самые глубокие, по большей части бессознательные представления о нас самих.Наши отношения обеспечивают нам сильные зеркала. Но это не обычные зеркала☝️, в которых мы ясно видим самого себя. В зеркале отношений мы видим СВОЙ СОБСТВЕННЫЙ ОБРАЗ с противоположными качествами, качествами, отРАЖенными в 7 ДОМЕ Го-РА-скопа!Продолжение следует!
На Реддите появились первые фотографии KTPocket R2. Счастливчик, получивший свой предзаказ, отмечает довольно высокое качество сборки (разве что шифты гремят при тряске) и ужасно работающий WiFi. Возможно, беспроводной сигнал глушит металлический корпус. Обещанной прошивки KOS ещё нет, устройство работает на совершенно голом Android.KTPocket - маленькая компания, буквально из одного человека. Первая портативка KT R1 не получила широкого распространения из-за высокой цены и низкого качества сборки. Она выпускалась в двух вариантах - крестовина сверху и стик сверху. Да-да, задолго до Retroid Pocket 6! Вторую модель можно предсказать на сайте, и вариативность просто зашкаливает:😒 Стик или крестовина сверху💀 Экран 4.5" 1620х1080 (3:2) или 4.2" 1280х960 (4:3)👹 Пластиковый, алюминиевый или магнезиевый корпус ◼️ 6/128, 8/256 или 12/512 Гб памяти😠 Только WiFi или WiFi+4G🐷 Пять вариантов расцветкиНекоторые ветки выбора взаимоисключающие (например, заявлено, что нет пластиковых корпусов для 3:2 экранов), но все равно, как-то многовато SKU для такой маленькой компании... Подозреваю, что многие опции так и останутся недоступнымиЦена R2, в зависимости от комплектации, составит 229-279 баксов.Да, чуть не забыл, KT R2 построена на чипе Mediatek D7300. Он обгоняет T820 на эпичные 15%. На мой вкус, при живой 476H, которая стоит почти в 2 раза дешевле, это лишает смысла 4:3 версию R2. А что до версии с экраном 3:2... Экран хорош, безусловно, но при такой цене он не перевешивает остального.#портативки #эмуляторы #ktpocket
Ровно перед майскими праздниками выстрелила и сильно прошумела CVE-2026-31431. Уязвимость в ядре позволяет проэксплуатировать LPE (Local Privilege Escalation) на почти всех дистрибутивах с 2017 года. Все говорят об LPE, но мало кто отмечает, что эту же уязвимость можно использовать для побега из контейнера в Kubernetes.Во-первых, об этом заявляют сами исследователи, которые обнаружили уязвимость. Обещают выпустить статью в блоге на этот счет (пока ещё не выпустили).Во-вторых, бага использует проблему в работе с кэшем страниц в ядре, а поскольку кэш страниц является общим для всех процессов на хосте, в том числе и за пределами контейнеров, скомпрометированный контейнер может повредить бинарные файлы с правами setuid, доступные другим контейнерам и ядру хоста.В качестве PoC советуем ознакомиться с репозиторием – Copy Fail (CVE-2026-31431) — Kubernetes Container Escape PoC. P.S. Мы также подтверждаем применимость этого в реальных условиях: в рамках аудита Kubernetes кластера нам удалось успешно использовать эксплойт. Демонстрацию можно увидеть на видео из нашего тестового окружения.






🇰🇿 В Казахстане утверждена Типовая методика оценки стоимости продуктов цифровых данных для госорганов, госюрлиц и субъектов квазигоссектора (Приказ №3 от 27.04.2026, вводится в действие с 12.07.2026). Документ формирует правовую основу для признания данных самостоятельным активом, который может быть предметом сделок, передачи, лицензирования и отражения в учете. ⬇️Основные изменения• впервые на уровне НПА закреплен подход к оценке стоимости цифровых данных как экономического актива• определены случаи обязательной оценки: сделки, отчетность, залог, вклад в капитал, банкротство, страхование, лицензирование и уступка прав• предусмотрены три подхода оценки: доходный, рыночный и затратный• для постановки на баланс рекомендован затратный метод, для продажи — доходный или рыночный• стоимость данных предлагается определять с учетом доходности, затрат на создание, хранения, безопасности и рыночного спроса• данные могут признаваться активом при наличии экономической выгоды и достоверно определяемой стоимости✔️Для комплаенса и корпоративного управления это важный шаг: цифровые данные становятся объектом имущественных прав, а значит возрастают требования к прозрачности владения, оценке, передаче, защите и недопущению злоупотреблений при распоряжении такими активами.
