Многие команды работают с кластерами Kubernetes побольше нашего. В них больше узлов, больше подов, больше ingress и так далее. По большинству размерностей нас кто-нибудь, да побеждает.
Но есть одна размерность, по которой, как мы подозреваем, мы почти на вершине: это пространства имён. Я думаю так, потому что мы постоянно сталкиваемся со странным поведением во всех процессах, которые их отслеживают. В частности, все процессы, выполняющие их listwatch, занимают на удивление много памяти и подвергают apiserver серьёзной нагрузке. Это стало одной из сложностей масштабирования, которую замечаешь, только достигая определённого порога. При увеличении оверхеда памяти эффективность снижается: каждый байт, который нам нужно использовать для управления — это байт, отнятый у пользовательских сервисов.
Проблема сильно усугубляется, когда daemonset должен выполнять listwatch пространств имён или сетевых политик (netpol), которые мы определяем для каждого пространства имён. Так как daemonset запускают под в каждом узле, каждый из этих подов выполняет listwatch одних и тех же ресурсов, из-за чего объём используемой памяти увеличивается при росте количества узлов.
Хуже того — эти вызовы listwatch серьёзно нагружали apiserver. Если одновременно перезапускалось множество подов daemonset, например, при развёртывании, то они могли перегрузить сервер запросами и вызвать реальный вылет.
Читать далееВ общем-то и целом, мой предыдущий эмулятор ZX Spectrum, написанный на go, работал. Показывал нужное (или очень близко к нужному) и давал чувство приближенности к программистам. Однако у него были очень фундаментальные проблемы, связанные исключительно с языком разработки. Ну по крайней мере я сейчас так думаю.
Другим движущим фактором все-таки была бесплатность БЯМок от cloud.ru (не реклама, да и бесплатности больше нет). Ну где еще можно на халяву пожечь сотни миллионов токенов и получить хоть что-то работающее?
В общем, я принял волевое решение переписать все на С++. Под катом дневник "переписчика", в котором я последовательно описываю все боли и страдания начинающего писателя эмуляторов. Желающим сразу посмотреть на конечный результат можно сходить на https://github.com/kiltum/zxcpp
Читать далееКак разработать источник отрицательного напряжения? Легко, это делается из классического Buck конвертера!
Стандартное решение, которое может пригодиться всем, кто хоть раз сталкивался с разработкой DC/DC источников питания или столкнулся сейчас.
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
Читать далееКак систематизировать работу с техническим долгом
Техдолг растёт, пока его никто не контролирует. Мы решили это так: выделили отдельную доску в Jira, разделили процесс на Backlog → To Discuss → Ready for Development → В работе, проводим регулярный груминг, оцениваем и приоритизируем задачи, сделали быстрые фильтры и дашборд для контроля времени.
Результат: прозрачность и приоритетность задач, техдолг перестал копиться «в стол», стало проще брать задачи без хаоса, улучшилось качество кода, выросла инициативность команды.
Читать далееОдна из фундаментальных проблем при создании эффективных моделей машинного обучения – определение необходимого и достаточного количества данных для их обучения. Слишком мало данных – модель будет неточной, слишком много – неоправданные затраты времени и ресурсов на сбор и обработку информации.
Коллектив ученых из Московского физико-технического института предложил два новых метода для решения этой задачи, основанных на анализе функции правдоподобия с использованием техники бутстрэпа. Работа опубликована в журнале Computational Mathematics and Mathematical Physics.
Читать далееПроблема раковых опухолей в том, что их существует тысячи видов. Однако, у каждого вида рака оказался собственный микробиом – специфический набор бактерий, которые влияют на возникновение, распространение и реакцию опухолей на лечение. И если подбирать лечение с учетом этой бактериальной среды, то можно добиться лучших показателей для выздоровления.
Читать далееСамые интересные новости финансов и технологий в России и мире за неделю: российским операторам запретили рассылать смс-коды для Telegram, Аяза Шабутдинова посадили на 7 лет, первый штраф за рекламу в Инстаграме, рекордная капитализация Nvidia на $5 трлн, реорганизация OpenAI в коммерческую компанию, а также предзаказ домашнего робота Neo за $20к.
Читать далееБолее 50 тысяч информационных систем на российских предприятиях ― объекты критической инфраструктуры. Объясня., что это означает.
Еще в июле 2024 года Госдума приняла в первом чтении законопроект о переходе объектов критической информационной инфраструктуры на использование российского ПО.
Выполнение требований закона влечет рост расходов компаний, в том числе операторов связи, ведь все они ― субъекты КИИ. Как соответствовать требованиям и справляться с дополнительной нагрузкой на бизнес?
Читать далееУ JetBrains есть фреймворк JetBrains.Annotations для .NET, который предоставляет набор полезных атрибутов. Они выступают дополнительными метаданными для статического анализатора JB, который включён в их IDE и ReSharper, для самих разработчиков и даже для нейросетей, которые работают с этим кодом.
Какие атрибуты доступны, как и где ими воспользоваться — об этом кратко и с примерами далее.
Читать далееЯ задал это вопрос ИИ (Google) и получил ответ:
Виртуальные машины (ВМ) нужны для запуска нескольких операционных систем на одном компьютере, тестирования программ без риска для основной системы, создания изолированных и безопасных сред, а также для эффективного использования серверных ресурсов в облачных вычислениях и дата-центрах. Они полезны для разработчиков, системных администраторов и для пользователей, которым необходимо работать с разными ОС или приложениями.
Основные причины, зачем нужны виртуальные машины:
Запуск нескольких ОС: Позволяют использовать Windows на Mac или, наоборот, запускать различные операционные системы в отдельных окнах на вашем компьютере.
Тестирование: Можно безопасно тестировать новое или подозрительное программное обеспечение, не боясь навредить основной системе. Это особенно актуально для тестирования приложений на разных платформах (например, на Windows и Linux).
Изоляция и безопасность: ВМ создают изолированную среду. Если в виртуальной машине произойдет сбой или она заразится вирусом, это не повлияет на работу основной операционной системы.
Виртуальные серверы: ВМ позволяют использовать один физический сервер для размещения нескольких виртуальных серверов. Это экономит средства, снижает потребление энергии и упрощает управление серверной инфраструктурой для компаний.
Гибкость и масштабируемость: ВМ легко создать, настроить и перенести. Это позволяет компаниям быстро адаптироваться к меняющимся нагрузкам и легко масштабировать свои ресурсы.
Эффективное использование ресурсов: Виртуальные машины позволяют распределять ресурсы одного физического компьютера между несколькими ВМ, что повышает общую эффективность использования оборудования.
Разберемся с каждым пунктом по отдельности.
Читать далееИИ уже достаточно давно научился искать симптомы, отвечать на вопросы из учебников и угадывать диагнозы на тестах, кажется, что следующий рубеж уже совсем близко и они смогут заменить врачей-диагностов. Однако, на более сложных и приближённых к реальности задачах, когда нужно самому принимать решения по ходу, многие из существующих ИИ-моделей почему-то оказываются не способны рассуждать на уровне врача-эксперта: они часто не могут понять, когда стоит остановиться, не знают какие анализы назначить или попросту действуют по шаблону.
Новое исследование, наоборот, утверждает, что всё о чём мы думали раньше вообще не важно — и размер модели и количество данных — всё это практически не влияет на итог, а самое главное это то, как именно ИИ учится рассуждать и стратегически мыслить. Авторы помещают ИИ в виртуальную клинику, где каждое действие имеет значение, а решение о неправильном выборе будущего анализа повлияет на конечный диагноз. При этом, ИИ получает обратную связь не только за финальный точный диагноз, но и за всю цепочку принятых решений.
Давайте разберёмся, почему для успеха ИИ недостаточно просто «знать правильный ответ» из учебника и почему обучение на реалистичных медицинских сценариях позволяет делать рассуждения ИИ похожими на врачебные. Всё это меняет не только подход к диагностике, но и то, как вообще следует использовать ИИ в медицине.
Читать далееВ прошлой статье мы рассмотрели, как отлаживать код, загружать отредактированные файлы и удалять ненужные файлы на устройстве прямо из браузера (беспроводное управление устройством) через WebREPL и через uPyLoader. Теперь научим устройство "говорить" — отправлять нам сообщения через систему push-уведомлений популярных мессенджеров.
Для сохранения логической целостности цикла статей я включил этот раздел, даже учитывая наличие похожих материалов на Хабре. Цель — не просто повторить известную информацию, а показать проверенные решения, адаптированные под конкретный проект и решающие проблему с русской кодировкой и эмодзи.
Мы протестируем две системы уведомлений:
Telegram-бот — для ESP32, который будет отображать сообщения от модуля, обладающего достаточными ресурсами для обработки SSL-шифрования, требуемого Telegram API.
ПродолжаемНоябрь входит в тройку самых тёмных месяцев года, уступая в этом рейтинге лишь декабрю и уверенно конкурируя с январем, попутно используя то обстоятельство, что снега в ноябре в климатической зоне средних северных широт как правило еще нет, отчего ноябрь кажется еще темнее и мрачнее. Погода способствует тому же восприятию. По набору видимых созвездий ноябрь тоже вполне соответствует зимним месяцам. В 2025 году ноябрь оказался довольно изобильным на астрономические явления. Давайте, их перечислим.
Читать далееПочему бы не запустить своё ядро прямо на смартфоне? Без Android, без Linux — только Rust, загрузчик и паяльник. В этой статье расскажу о результатах своего эксперимента, как оживить голое ARM-железо, увидеть первые символы в UART и даже вывести что-нибудь на экран.
Читать далееНиже я приведу примеры, как пустить пыль в глаза юзерам можно улучшить ситуацию с ощущением чужеродности приложения среди других, написанных на честном Gtk, китами из XCode, Windows UWP и прочим с 0% вайбкодинга
Читать далееОсновные новые возможности и изменения в Devuan 6 Excalibur по сравнению с предыдущим релизом (Devuan 5 Daedalus):
Всем салем и привет.
С каждым днём цифровое рабство всё ближе, а люди, привыкшие втыкать в TikTok, всё меньше замечают, что рабский ошейник из железа превратился в невидимый — из цифр. Недавно произошёл случай беспредела со стороны казахстанского банка, тесно интегрированного с государством, который довольно ясно очертил текущую ситуацию.
Обычная шутка Айдоса Едилова, сгенерированная с помощью Sora, про Иисуса в Каспи Банке, призывающего не брать кредиты, вызвала блокировку счетов самого Айдоса и игнор со стороны техподдержки банка, в который он обращался. Только после поднятия шумихи в соцсетях банк разблокировал счета, сославшись на «технический сбой».
Узнать, что это за якобы сбойМы в Beeline Cloud часто рассказываем о примечательных интернет-проектах и стандартах, разбираем их историю и специфику. На этот раз подготовили подборку необычных RFC конца 80-х и 90-х годов. Эти документы отражают культурный и исторический контекст раннего веба — рассказывают о людях, событиях, технологиях и сетевой культуре тех лет. В подборке — документ с рекомендациями для сисадминов по выбору имен для флота компьютеров, таймлайн развития интернета, а также история создания самого первого RFC — из уст его автора.
Читать далееКак складывать трудозатраты по-новому. Когда хочется быть гибким, но привычные сторипойнты не решают проблему, а как будто только создают новую. Попробуем изобрести новый гибкий способ расчета трудозатрат, который, работает.
Устали от того, что 2SP+2SP ≠ 4SP? Не знаете, как объяснить, что у одной команды фича на M большемерит, а у другой команды фича на L маломерит и потому они займут примерно одинаковое время? Тогда вам сюда!
Читать далее