Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 33 min ago

Нотация к SQL-препроцессору, и не только

3 hours 21 min ago

Статья представляет компактную математическую нотацию для SQL-препроцессора, разработанную для формирования сложных условных выражений из JSON-конфигураций. Нотация позволяет кратко записывать операции с множествами и интервалами: комбинированные операторы (>=[18,65]), стрелочные символы для интервалов (>> — BETWEEN, >< — NOT BETWEEN) и логическое отрицание через знак минус. Цель — создать интуитивно понятный, непротиворечивый и расширяемый язык запросов. Практическое применение — генерация SQL-кода в препроцессорах, DSL для построителей запросов, компактные фильтры в JSON-API. Рассматриваются сильные стороны и потенциальные проблемы нотации, сравнительный анализ с аналогами (Quist, SQL++, PRQL), выявляется уникальность подхода. Автор приглашает к обсуждению и предлагает сотрудничество.

Читать далее

Heavy Digital: как я делал систему мониторинга процессов на производстве

3 hours 22 min ago

Последнее время вся моя работа связана с энтерпрайзом и бигтехом. Но так было не всегда. Лет 12-15 назад работал в производственной компании, и там довелось создать «на коленке» систему мониторинга для промышленного оборудования.

У компании были современные импортные станки с проприетарным софтом, дорогим обслуживанием. Непрерывное круглосуточное производство. Но собственная IT-инфраструктура была слаба – всего несколько разработчиков, а аналитики бизнесовые. Всё же бизнесу нужно было следить за оборудованием: кто работает, кто простаивает, кто отключает датчики. Крайне необходимо было снизить вероятность поломок и простаивания.

В статье расскажу, как «на коленке» собрали многомодульную систему.

Вперёд в прошлое!

А если агенту не платить? Альтернативная механика обучения с подкреплением

4 hours 16 min ago

В машинном обучении есть такой метод - обучение с подкреплением (reinforcement learning, RL), который используется для решения задач последовательного принятия решений. В этом методе агент на каждом шаге взаимодействует со средой, изменяя её. Обратной связью для него является некая искусственно сконструированная награда, которая выдаётся на каждой итерации взаимодействия. Основная проблема в том, что действие и награда напрямую не коррелируют. Часто, награда назначается за какое-то финальное достижение, которого можно достичь только выполнив определенную последовательность действий с нулевым или даже отрицательным вознаграждением. Существуют различные способы "протянуть" награду вдоль всей траектории, чтобы в конце концов агент осваивал более-менее приемлемую стратегию поведения.

Удивительно, но обучение с подкреплением никак не использует информацию о том, какие изменения происходят в среде в результате выбранного агентом действия, а только скалярную величину награды. В этом небольшом эксперименте, мы хотим проверить, может ли эта информация как-то быть обработана и использована для построения стратегии агента.

Читать далее

Фишинг под видом Meta: SPF pass, DKIM pass, входящие Gmail

6 hours 37 min ago

2 марта 2026 года я получил на анализ фишинговое письмо. Отправитель - «M e t a», тема - «[Требуется действие] Завершите проверку, чтобы восстановить показ объявлений». SPF pass, DKIM pass, ARC pass - письмо прошло все проверки и лежало во входящих Gmail. Ключ - цепочка Resend.com → Amazon SES → Gmail, где каждый элемент легитимен. Разбираю, как атакующие этого добились и почему это работает.

Читать далее

Как подключить ИБП Энергия Smart к мониторингу NUT

7 hours 12 min ago

tldr: ИБП использует Modbus (а не Megatec/Voltronic), параметры BAUDRATE = 9600, DEVICE_ID = 10, START_ADDR = 30000.

У меня была задача - купить ИБП для домашней системы хранения / homelab сервера.

Идея была купить что-то не слишком дорогое, с возможностью подключения внешних АКБ и мониторинга через стандартный протокол NUT (Network UPS Tools, стандартный протокол по которому можно мониторить UPS в linux, NAS типа Synology и т.д.) .

Читать далее

sudo исполняется 45. Вашему контейнеру — всё равно

7 hours 15 min ago

На почти каждой Linux-машине в мире живёт один маленький бинарник. Весит несколько мегабайт, несколько десятков тысяч строк кода, поставляется со своим собственным конфигурационным языком, и CVE-шек за ним накопилось столько, что хватит на хорошую таблицу с фильтрами. Большинство из нас запускает его по десятку раз в день, не задумываясь.

Этот бинарник — sudo.

В мире Docker-контейнеров, эфемерных CI-раннеров и Kubernetes-подов, которые живут тридцать секунд и умирают без предупреждения, большая часть того, что умеет sudo, попросту не нужна для той работы, ради которой мы его вообще вызываем.

Вот о чём эта статья: что это за работа, как она обросла такой сложностью, и как маленькая программа на C справляется с ней лучше.

Читать далее

[Перевод] Если вы умеете делать хороший code review, вы умеете работать с AI-агентами

7 hours 28 min ago

AI‑инструменты часто делают одно и то же: они выбирают слишком тяжёлое решение там, где достаточно простого. Ценность человека — в инженерном суждении: распознать плохую архитектуру, остановить усложнение, выбрать более простой путь, держать систему в здравом состоянии.

Читать далее

Пусть ваш AI пишет тесты. Имба, о которой не знает ни один вайбкодер

7 hours 28 min ago

Вы попросили ChatGPT добавить скидку 10% на заказы больше $100. Он выдал 40 строк кода. Скидка работает - проверили на заказе в $150, получили $135. Закоммитили.

Чего вы не заметили: модель переписала функцию расчёта цены целиком. Не потому что нужно было. Просто так получилось - LLM не "редактирует" код, он генерирует новый текст на основе вашего промпта и контекста. В процессе он изменил порядок вычисления налога. Заказы меньше $100 теперь считают налог дважды. Товар за $10 стоит $10.80 вместо $10.50. Вы узнаете об этом через три недели, когда клиент напишет в поддержку.

Читать далее

MQTT: доставка при потере связи

7 hours 31 min ago

Когда я собирал систему «Умный дом» в загородном доме, столкнулся с двумя классическими проблемами, которые, наверное, знакомы многим, кто строит IoT на Wi-Fi:

1. В подвале коммутатор управления отоплением периодически «глотал» команды. Аналогичные пропуски случались и в других менее критичных системах, расположенных в дальних пыльных (от туда и название проекта) углах дома с неуверенным покрытием Wi-Fi.

2. Не все устройства одинаково хорошо переносили слишком частую отправку команд.

Тянуть Ethernet по всему дому и сверлить стены или развешивать дополнительные роутеры/повторители мне категорически не хотелось. Поэтому первую проблему нужно было решать чисто программно.

### Почему стандартные возможности брокера не подошли

Многие MQTT-брокеры (в том числе популярный Mosquitto) позволяют включить «хранение последнего сообщения» (retain) и QoS 1/2. Но этого оказалось недостаточно.

Например, когда нужно передать на электронный замок целый список RFID-меток — одной «последней» командой не обойтись. Если устройство в момент отправки было недоступно, список просто терялся.

### Решение: контракт с подтверждением

Я изменил договорённость между брокером и потребителем (consumer):

- При получении любого сообщения устройство обязано ответить подтверждением.

- Только после получения подтверждения сообщение считается доставленным.

- Если подтверждение не пришло за заданное время — сообщение автоматически уходит в очередь на повторную отправку.

В тот же модуль я добавил защиту от слишком частой отправки:

Читать далее

[Перевод] Рукописные заметки Галилея найдены в древнем астрономическом тексте

7 hours 37 min ago

В пасмурный январский день историк Иван Малара сидел в Национальной центральной библиотеке Флоренции, внимательно изучая семь экземпляров древнейшего и наиболее влиятельного астрономического текста XVI века. Страницы принадлежали «Альмагесту», в котором ученый-энциклопедист II века Клавдий Птолемей описал свое видение геоцентрической модели Вселенной. Листая страницы, Малара заметил нечто необычное. Кто-то записал Псалом 145 на пустой странице — почерком, напоминающим почерк очень известного тосканского астронома.

Малара понял, что в этой книге оставил огромное количество примечаний не кто иной, как Галилео Галилей. Открытие Малары, описанное в статье, которая сейчас находится на рассмотрении в журнале «Journal for the History of Astronomy», уточняет наше представление об одном из самых известных идеологических переходов в истории науки: моменте, когда Землю вытеснили из центра нашей Вселенной.

Читать далее

Gemini 3.1 Pro vs Claude Opus 4.6 – сравнение февральских новинок

7 hours 46 min ago

Две недели. Именно столько понадобилось, чтобы гонка ИИ-гигантов превратилась в полноценную войну миров.

5 февраля Anthropic выпускает Claude Opus 4.6 – короля экспертных задач, который мгновенно захватывает вершины рейтингов качества и пользовательских симпатий. Ажиотаж, восторг, заголовки.

Но 19 февраля Google берёт паузу... и выстреливает Gemini 3.1 Pro. Результат? +46 процентных пунктов в тесте ARC-AGI-2 (77,1% против 31,1% у предшественника), лидерство в 12 из 18 бенчмарков и ценник, от которого у конкурентов округляются глаза.

Gemini 3.1 Pro вдвое обходит предшественника в тестах на рассуждение, стоит в 6,5 раза дешевле флагмана конкурента и штампует 3D-симуляции птичьих стай по текстовому описанию. Claude Opus 4.6, который не гонится за скоростью, а размышляет вслух, взвешивает моральные дилеммы и остаётся любимцем людей в слепых тестах.

Как не запутаться в этом треугольнике и выбрать модель под свои задачи? И почему эксперты в финансах и юриспруденции отдают предпочтение Sonnet 4.6, оставляя “тяжеловесов” далеко позади?

Разобрали 18 бенчмарков, чтобы вы поняли, за какой моделью – ваше завтра. В этом материале мы свели все цифры, графики и пользовательские ощущения, чтобы у вас была полная картина февральской перезагрузки. Узнайте, какая модель сделает вашу работу лучше, быстрее и дешевле и кто победит в этой дуэли – цифровой гений-отличник или философ с душой.

Читать далее

Больше моделей, больше возможностей: зачем мы вводим подписки в Kodacode

Mon, 03/02/2026 - 23:43

У нас появились долгожданные подписки! Мы добавили модели, которых раньше не было. И теперь полный список выглядит следующим образом: GLM-4.7, GLM-5, MiniMax-M2.5, DeepSeek-v3.2, Kimi-K2.5, Gemini 3 Flash Preview и GPT 5.3 Codex. Sonnet и Gemini Pro сейчас тестируем — подключим после проверки стабильности в IDE и CLI.

Читать далее

Почему ты не можешь просто начать меньше есть, чтобы снизить вес? Или как добиться эффекта Оземпика без Оземпика

Mon, 03/02/2026 - 23:26

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

Читать далее

WYSIWYG редактор Хабра — баг репорт

Mon, 03/02/2026 - 22:46

Помнится мне, когда-то давно были каки-то статьи о проблемах редактора статей на хабре, просили сотавить некий старый, а сейчас тишина.

Вот коем-то веке решил наваять свою первую статью, думал, что теперь все замечательно, но вот вляпался в WYSIWYG редактор хабра и его проблемы, о чем далее.

В конце есть опросы для авторов на понимание проблем, только ли мне они мешают.

Читать далее

[Перевод] Люди против нейросетей: как Сэм Альтман обесценивает человеческий интеллект

Mon, 03/02/2026 - 22:46

Когда лидеры индустрий обретают слишком много власти, происходит нечто странное. Они начинают чувствовать себя настолько комфортно, что порой забывают поддерживать свой публичный образ, позволяя нам заглянуть за кулисы и увидеть их истинные намерения. Кажется, технологические визионеры сейчас находятся именно на этом этапе своей эволюции, что недавно прекрасно продемонстрировал Сэм Альтман. Он и раньше был известен своими громкими заявлениями об ИИ, но на этот раз превзошел самого себя, обнажив весьма тревожную философию. Вопрос в том, сможем ли мы вовремя распознать этот тревожный сигнал?

О чем идет речь? Во время недавнего интервью Альтман довольно эмоционально отреагировал на «несправедливые», по его мнению, сравнения энергоэффективности ИИ и человека. Он заявил: «Люди говорят о том, сколько энергии уходит на обучение ИИ-модели... Но на обучение человека тоже уходит много энергии. Требуется около 20 лет жизни и вся еда, которую вы съедаете за это время, прежде чем вы поумнеете».

На первый взгляд, это может показаться невинной аналогией, попыткой оправдать текущие колоссальные затраты на ИИ. Но проблема в том, что это сравнение абсолютно некорректно. Более того, оно обесценивает саму человеческую природу, сводя нас лишь к потреблению калорий, и намекает на то, что глобальная философия Альтмана может иметь пугающе антигуманный характер.

Читать далее

Дженерики в Go: три года спустя

Mon, 03/02/2026 - 21:50

Когда в феврале 2022-го вышел Go 1.18 с дженериками, сообщество разделилось на два лагеря. Первые кричали «наконец-то!» и бросились переписывать всё подряд. Вторые — «не нужны были, не нужны и сейчас». Прошло три года. Пыль улеглась. И я хочу поговорить не о том, как написать func Max[T constraints.Ordered](a, b T) T — этому посвящены тысячи туториалов. Я хочу поговорить о том, что реально прижилось, какие паттерны оказались полезными, а где дженерики только мешают.

До 1.18 у нас было два пути: дублировать код под каждый тип или использовать interface{} (а теперь any) с приведением типов в рантайме. Оба такой вот компромисс.

Дженерики предложили писать код один раз так, чтобы он работал с разными типами, и при этом компилятор проверял корректность на этапе сборки.

Читать далее

Минимальный продакшн-шаблон для Next.js приложения

Mon, 03/02/2026 - 21:37

Собрал production‑ready Next.js boilerplate для self‑hosted проектов: один репозиторий, один VPS, Docker + nginx + Let’s Encrypt, GitHub Actions, опциональный MongoDB, авторизация и небольшой UI‑кит. Это кейс про инфраструктуру вокруг Next.js без Vercel и прочих managed‑платформ для большего контроля и экономичного старта.

Читать далее

Бюджета нет — но вы держитесь

Mon, 03/02/2026 - 21:16

Я сейчас собираю маркетинговую кампанию для своей первой игры. Денег на рекламу — ноль. И это, на самом деле, не редкость: большинство инди на старте живут в режиме «или делаем игру, или делаем маркетинг».

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

Ниже — система, которую я выстраиваю сам. Это не «универсальная истина», но это точно рабочая логика для тех, у кого нет бюджета, зато есть голова и руки.

Читать далее

Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

Mon, 03/02/2026 - 21:06

Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android‑приложение «Трекер привычек» с социальными функциями, синхронизацией, офлайн-режимом и виджетом

Читать далее

[Перевод] Пульсар вблизи центра Млечного Пути — идеальная площадка для проверки общей теории относительности

Mon, 03/02/2026 - 20:37

В центре Млечного Пути должно быть много пульсаров, но по какой-то причине мы не можем их найти. Новое исследование выявило кандидата в пульсары очень близко к центру Галактики. Если это подтвердится, появится возможность проверить общую теорию относительности.

Предварительное открытие было сделано в ходе обзора Breakthrough Listen Galactic Center Survey. Это одно из самых чувствительных исследований по поиску пульсаров в сложной центральной области Млечного Пути.

Открытие описано в статье «О самом глубоком поиске пульсаров в центре Галактики и исследовании интригующего кандидата в миллисекундные пульсары», опубликованной в журнале The Astrophysical Journal. Её ведущий автор — Карен Перес, недавно защитившая докторскую диссертацию в Колумбийском университете.

Читать далее

Who's online

There are currently 0 users and 1 guest online.