❌

Normal view

Видеомодель на 22 миллиарда параметров на RTX 3080: что пришлось сделать, чтобы она влезла в 10 ГБ

У меня RTX 3080 с 10 ГБ видеопамяти. У LTX-2.5 — 22 миллиарда параметров, 39 ГБ весов трансформера и ещё 24,5 ГБ текстового энкодера. По этим цифрам знакомство можно было бы закончить. Но модель удалось запустить локально под Windows и встроить в конвейер коротких роликов.

Читать далее

Открыл бизнес и два года разбирался с убытками и браком. Теперь продаю сантехнику на 120 млн тенге в месяц

В 2019 году я открыл небольшую точку с сантехникой на барахолке в Алматы. В 2020 году из-за пандемии рынки закрылись, и первый год мы закончили с убытком около 60 тысяч долларов. На второй год я заказал два контейнера акриловых ванн на 80 тысяч долларов, но вся партия оказалась бракованной. Но обо всем по порядку. 

Читать далее

Мониторинг изменений групповой политики Active Directory через git

В этой статье мы рассмотрим подход как просто, эффективно и, самое главное, бесплатно отслеживать изменения групповой политики (GPO) Active Directory.

Если вы не единственный системный администратор в компании, своевременно ли вы узнаете, что кто-то из коллег изменил групповую политику? Обычно утром кто-то звонит и спрашивает - “А кто-то что-то менял в политике? У меня не работает/не подключается…”

Хорошо когда для мониторинга есть отдельный продукт, а если нет?
Использование репозитория git поможет легко и наглядно следить за изменениями объектов.

TLDR;
Идея: регулярно экспортировать GPO в xml и загружать на сервер git
Результат: бесплатный мониторинг изменений политики с минимальными трудозатратами

Читать далее

Один счётчик, десять потоков и неправильный результат: разбираемся в многопоточности C++

Представим простую задачу: десять потоков должны увеличить общий счётчик по миллиону раз. Математика элементарная — в результате ожидаем десять миллионов.

Но программа может вывести совсем другое число. Причём ошибка не обязательно будет повторяться при каждом запуске.

Разберёмся, почему так происходит, как исправить проблему с помощью std::mutex и std::atomic, когда нужны std::condition_variable и std::future, а также чем std::jthread удобнее обычного std::thread.

Все примеры рассчитаны на C++20, если не указано иное.

Читать далее

Вы прошли техсобес, но руководитель решил, что вы слишком хороши

Компания месяцами ищет сильного Senior-разработчика. Кандидат отлично проходит техническое интервью, разбирается в архитектуре, умеет принимать решения и аргументированно спорить.

А потом получает отказ.

За десять лет в IT-рекрутинге я встречала разные причины таких решений. В том числе случаи, когда руководитель видел в сильном специалисте потенциального конкурента.

Почему высокая квалификация иногда становится недостатком? Что скрывается за формулировкой «не подошёл по soft skills» и всегда ли компании действительно нужен тот Senior, которого она описала в вакансии?

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

Читать далее

От сетевых папок к СОД: методология перехода на nano360

Сетевые папки, облачные диски и электронная почта остаются привычными инструментами организации проектной документации. Для небольшого коллектива и относительно простого проекта этого зачастую достаточно. Проблемы становятся заметны с ростом числа участников, документов и изменений.

Для ГИПа это оборачивается вполне практическими сложностями: один документ существует в нескольких редакциях с именами «Финал», «Финал_2», «Исправленный», актуальный файл приходится искать среди папок и писем. Замечания заказчика находятся в переписке и на скриншотах, а после очередной выдачи не всегда удается быстро установить, какая именно редакция была передана. Появляются отдельные папки «На согласование», «Выдано», «Старое», которые фактически начинают выполнять роль статусов документа.

К этому моменту проблема заключается уже не в месте хранения файлов. Проекту требуется управление их состоянием: версиями, замечаниями, согласованиями, доступом и передачей документации. Эту задачу решает переход к среде общих данных (СОД)...

Узнать, что делать дальше

Плавающая панель вкладок iOS 26 в .NET MAUI: что сломалось и как я это исправила

В первой статье я рассказывала, как переводила приложение для торговых представителей с Xamarin.Forms на .NET MAUI, а во второй — как ускоряла в нём списки. На Android новая версия уже работает у агентов, следующий шаг — переход на iPad. И перед этим шагом iOS 26 и Xcode 27 подкинули мне новую задачу.

В iOS 26 панель вкладок стала плавающей, и интерфейс, который до этого нормально выглядел на iPad, перестал с ней сочетаться. А сборка с Xcode 27 вообще перестала запускаться. В этой статье — что именно сломалось, как я это исправляла и какой код для этого понадобился.

Спойлер: платформенного кода получилось немного — один класс на 60 строк, один стиль и пара файлов для запуска. А ушло на всё два с половиной дня.

Узнать, как дизайн дизайнить

Миграция 4 миллионов игроков на новую версию: три подхода к подготовке и авария за сутки до старта

Вечером, за сутки до переноса четырёх миллионов игроков на новую версию игры, вся российская часть нашей инфраструктуры стала недоступна: после атаки на Yandex Cloud легла зона, в которой она жила. Расскажу, как мы год готовились к этой миграции, какие предположения подтвердились, а какие нет, где нам помог Claude Code с доступом ко всей инфраструктуре и где мы ошиблись, несмотря на его помощь. В конце покажу, что стало с аудиторией и выручкой.

Запустить миграцию
❌