Обновить

Nest — как Make, но с иерархией и крабами

Уровень сложностиПростой

Nest — декларативный task runner на Rust, альтернатива Make и Just с поддержкой иерархии задач. Использует читаемый синтаксис на основе отступов (как в Python), объединяя команды в одном Nestfile. Идеален для полиглот-проектов и автоматизации без плоской структуры.

Читать далее

Гайд: как реализовать децентрализованный логин на Go с libp2p

Уровень сложностиСредний

Что такое децентрализованная база данных? - это хранилище данных, в котором нет единого сервера.

Данные хранятся на нескольких узлах сети, и каждый из них имеет свою копию.
Узлы сами обмениваются и синхронизируют данные между собой.

Читать далее

Практическое применение потокового редактора SED

Уровень сложностиПростой

Работая с АльтЛинукс 10 я обнаружил, что команда apt-cache show <имя пакета> выводит много дополнительной информации, которая возможно важна для мейнтейнеров, но не представляет ценности для меня. Более того дополнительная информация выглядит как шум и затрудняет анализ данных. Для решения этой проблемы я использовал потоковый редактор sed.

Читать далее

Corel Draw: Как получить доступ к пунктам меню в коде макроса

Уровень сложностиПростой

При написании макросов, иногда, хочется добавить вызов тех или иных инструментов, либо действий из пунктов меню. Но при записи действий в макрос часть из них игнорируется — не записывается. Как же получить к ним доступ?

Рассмотрим два варианта, которые связаны между собой.

Читать далее

Доказательство гипотезы Коллатца

Уровень сложностиСложный

Я рад анонсировать, что мне удалось продвинуться в доказательстве гипотезы Коллатца.
В своей работе я построил математическую модель для удобного задания свойства четности, что позволило обнаружить закономерность в последовательности.
Ниже представлена вся теория и доказательство.

Читать далее

Как настроить отправку оповещений Wazuh в Telegram и Bitrix24: полное руководство

Уровень сложностиСредний

Wazuh — мощная открытая платформа для мониторинга безопасности, обнаружения угроз и соответствия нормативным требованиям. Но по умолчанию она отправляет алерты только в логи или SIEM-систему. Что делать, если вы хотите оперативно получать уведомления в Telegram и автоматически создавать задачи в Bitrix24 при критических событиях — например, при изменении членства в группе администраторов или блокировке учётной записи?

Читать далее

Кейс, который ломает миф про сезонность на Авито: х3 заявок в нише «Мойки высокого давления»

Кейс на Авито: 240 заявок по 362 рубля, где средний чек товара 90000 рублей.

Работа с производителем моек высокого давления. Россия, лето — традиционный «мертвый сезон». При бюджете 90 000 рублей заказчик получал всего 90 обращений в месяц и считал, что «Авито тут ни при чём, просто сезон провальный».
Мы доказали обратное: за один месяц увеличили количество заявок в 3 раза — при том же бюджете. Цена заявки упала в 3 раза.

Читать далее

Static Factory Methods: оружие Java-разработчика

Уровень сложностиПростой

Достаточно писать скучные конструкторы! Пришло время освоить статические фабричные методы — подход, который кардинально изменит ваше представление о создании объектов в Java.

Читать далее

Мнение эколога, голубевода об использовании голубей в качестве биодронов

Уровень сложностиПростой

Недавно было опубликовано сообщение о положительных результатах испытания в России голубей-биодронов, которым вживляют чип в головной мозг, вешают на них видеокамеру и заставляют лететь в заданном направлении для наблюдений и разведки. Эколог, голубевод, эксперт “Центра правовой зоозащиты”  Евгений Ильинский рассказывает об этичности и эффективности использования голубей в качестве биодронов.

Насколько этично использование голубей в качестве биодронов?

Читать далее

Вводная статья по инженерному проекту «Дезинтегратор БПЛА/Дрон»

Инженерный проект по борьбе/противодействию бпла/дронам в инженерно-философском духе! С акцентом на ее разработку и реализацию в Российском пространстве (топосе) и культурном коде.

продолжение в следующих публикациях

Функции vs генераторы: производительность, особенности, размер

Уровень сложностиСредний

При стандартном подходе используются функции, которые возвращают списки. Допустим, вот такая функция, которая возвращает все степени двойки до 1000:

def degrees_two:

...

Читать далее

Прогноз появления общего общего искусственного интеллекта

Уровень сложностиПростой

Задаче создания компьютерной имитации мозга сейчас посвящен проект the China Brain Project. Ранее этой задачей занималась японской команды RIKEN, «Human Brain Project» и «Blue Brain».

Читать далее

AWS Glue расшифровка и конвертирование csv в paraquet

Уровень сложностиСредний

Пришла мне задача принимать gpg-зашифрованные csv, расшифровывать их с секретным ключом и паролем из AWS Secrets Manager, а затем сразу конвертировать в parquet, что бы после подключить AWS Athena и не думать о преобразованиях, партициях и так далее. Все должно стартовать само, когда в S3 появляется новый файл.

Читать далее

Record в Java: руководство по лучшей функции, которую вы не используете

Уровень сложностиСредний

Устали писать горы шаблонного кода для простых классов данных? equalshashCodetoString, геттеры... Знакомо? Тогда встречайте Records (записи) — возможно, лучшая фича Java, которая сэкономит вам кучу времени и нервов.

Читать далее

Платформы AI-симуляторов: следующий этап тренировки навыков

Уровень сложностиПростой

Когда говорят об искусственном интеллекте, чаще всего обсуждают автоматизацию. Инструменты пишут текст, генерируют код, сортируют документы и снимают рутинные задачи. Но параллельно развивается другое направление. Это системы, которые не автоматизируют работу, а помогают людям практиковаться.

Эту новую категорию можно описать как AI-симуляционные платформы. Вместо того чтобы создавать контент, они воспроизводят реальные сценарии, задают динамические вопросы, оценивают ответы и дают структурированную обратную связь. Ценность таких систем — в повторении, а не в замене человека.

Читать далее

Авторизация через Steam на PHP в 2025: Выкидываем LightOpenID и пишем нативный код (PHP 8.1)

Уровень сложностиПростой

Привет, Хабр!

Любой, кто делал магазины скинов, рулетки или просто игровые форумы, сталкивался с задачей: «Сделать кнопку Войти через Steam».

Казалось бы, задача тривиальная. Идем в гугл, пишем php steam auth, и что мы видим?

Читать далее

Как мы с AI создали онлайн-игру «Бункер 7.0» и прошли через все круги ада

Уровень сложностиСредний

Разработал полноценную онлайн-игру с голосовым чатом и реалтаймом за несколько месяцев, работая в паре с AI-ассистентом (Claude/Cascade). Деплой на Railway + Vercel, пока 10+ одновременных игроков, и куча неожиданных проблем от «бесконечных циклов на iPhone» до «миграции БД не применяются в Railway».

Стек: React + TypeScript, Node.js, Socket.IO, PostgreSQL, 100ms (голосовой чат), Sentry, Cloudflare R2.

Читать далее

Энди Гроув: человек, который построил Intel и научил Кремниевую долину выживать

Уровень сложностиПростой

История Энди Гроув, И уроки менеджмента от CEO Intel

«В каждом успехе уже заложены семена его разрушения. Выживают только параноики».

— Энди Гроув

Читать далее

UV текстурирование куба

Уровень сложностиСредний

В статье будет показано как можно наложить простую текстуру на куб (box).

В программировании графики часто используется uv текстурирование. Когда текстура накладывается по координатам на вершины модели. Это работает с разомкнутыми моделями. Но при наложении на замкнутые вроде куба (или цилиндра) возникает проблема. Одна и та же вершина используется для разных плоскостей. И не всегда возможно наложить текстуру как хотелось бы. Можно конечно добавить вершин, и сделать их независимыми, но это лишний расход памяти, и другие проблемы.

Сразу покажу конечный результат. Текстура наложена на куб (box), и со всех сторон выглядит корректно. Но это сработает только для простой текстуры, которая допускает отражение по диагонали (вроде бетона, кирпича). Либо если достаточно только 4 сторон (кроме верха и низа например). Здесь графическая API (в моём случае OpenGl) получает всего 8 вершин с uv координатами каждая. Безо каких-либо хитростей вроде геометрических шейдеров (которые требуют дополнительных операций) и т.д. Т.е. это будет эффективно.

Читать далее

Больше никаких common.json: Как я написал свой CLI для автоматизации i18next в Next.js (и перешел с Gulp на AST)

Уровень сложностиСредний

Введение

Каждый, кто делал мультиязычные приложения на React/Next.js, знает эту боль. Ты создаешь новый компонент, пишешь t("Submit Button"), а потом...

Читать далее