У оператора связи уже есть каналы, сетевое оборудование, техническая поддержка и клиенты из общепита, медицины, торговли, фитнеса и других сфер услуг. Но чаще всего Wi‑Fi для такого клиента заканчивается на установке роутера. Мне стало интересно превратить его в полноценную управляемую услугу, которую оператор или системный интегратор может развернуть в своей инфраструктуре, оформить под собственным брендом и продавать бизнесу за ежемесячную плату.
В этой модели одна платформа обслуживает множество клиентских объектов. Для каждого можно создать отдельный профиль со своим названием, логотипом, цветами, способами авторизации, точками доступа, сотрудниками и правилами работы с гостями. Сотрудник бизнес-клиента работает в назначенном ему профиле, а оператор получает общий контур управления сетью.
Задача не сводится к красивой странице входа. Статья 44 Федерального закона № 126-ФЗ «О связи» относит порядок идентификации пользователей услуг передачи данных и их оборудования к правилам оказания услуг связи. В действующих Правилах оказания услуг связи по передаче данных, утверждённых постановлением Правительства РФ № 2606, для пунктов коллективного доступа предусмотрена идентификация пользователя и используемого им оконечного оборудования. Одним из практических способов такой проверки является достоверное установление номера мобильного телефона.
Нормативные акты не предписывают конкретный дизайн страницы и не называют Captive Portal обязательной технологией. В проекте он служит техническим шлюзом перед интернетом: до подтверждения гостю доступна только авторизация, а после неё создаётся ограниченная по времени сессия. Система сохраняет журнал входа — когда, каким способом, с какого устройства и через какую точку был получен доступ.
Читать далееКогда я садился портировать своё iOS-приложение на Android, я был уверен, что ping, traceroute и Path MTU там не сделать: ICMP — это raw-сокет, а raw-сокет — это root. Одна команда adb показала, что я ошибался: любое приложение может открыть непривилегированный ICMP-сокет — без root и без единой строчки на C.
Рассказываю, как на чистом Kotlin устроены ping, traceroute через очередь ошибок сокета и Path MTU через бит DF, и на чём я споткнулся по дороге.
Читать далееНачитавшись статей о сверхкомпактных языковых моделях, я задался вопросом: заведется ли такая на любимом компьютере детства, ZX Spectrum, у которого нет даже аппаратного умножения? И не просто заведется, а будет писать так, чтобы ответа можно было дождаться.
Так появился HippoGPT — языковая модель на 120 тысяч параметров, которая сочиняет детские сказки на обычном Spectrum 128K, примерно по токену за четыре секунды. Под катом — как измерить ум крошечной модели, умножать без умножения и зачем бегемоту сказки про Dizzy. А запустить его можно прямо в браузере.
Читать далееПрогнал девять пакетов визуальной одометрии и два лидарных на одном уличном ровере: визуалка на улице не тянет, лидар с дефолтными настройками — тянет. Видео всех тестов с таймкодами и разбор причин отказов — в статье.
Читать далееПродолжаю делиться выложенными в OpenSource библиотеками, которые использую в работе. В этот раз речь пойдет о наиболее универсальном, на мой взгляд, подходе для валидации приходящих с бэкенда данных: в клиентской части пишутся обычные TS DTO модели, а валидаторы создаются автоматически.
Вот ссылки на документацию на русском и английском, а в статье я сравню различные подходы к валидации.
ВалидироватьДокументальная история одного рабочего дня, рассказанная непосредственным виновником. В духе человека, который всю жизнь объяснял людям, что они идиоты, и делал это так, чтобы они смеялись.
Поржать. Может быть...Текущая ситуация с бурным развитием больших языковых моделей (LLM) и средств разработки ПО с их применением - так называемых “обвязок” (harness), включая реализации в виде терминальных агентов типа Claude Code, Codex, Gemini, Opencode и др. вызывает закономерный вопрос - можно ли построить автономного (не зависимого от внешних сервисов) терминального агента, способного извлечь из компактной LLM, скажем с 8 млрд (8b) параметров и контекстом 32К, пользу для разработок ПО, сопоставимую с применением модели, имеющей на порядки больше параметров, скажем от 100b до 1Т? Другими словами, можно ли на локальном компьютере с видеокартой 12Gb решать задачи, не подписываясь на внешние сервисы, и если можно - то какие и какими должны быть агент и модель?
Для ответа на этот вопрос было принято решение поэкспериментировать с терминальными агентами. Агент для экспериментов не должен был быть привязан к модели (подобно qwencoder), должен быть с открытым исходным кодом (исключаем claude code сотоварищи), должен быть достаточно гибко модифицируемым для обкатки идей - с минимальной перестройкой кодовой базы при реализации очередной идеи. Статья кратко описывает результаты данного эксперимента за период с конца апреля по конец октября 2026 года. В тексте будем придерживаться терминологии, своевременно описанной в публикации.
Читать далееЭто глава, вышедшая в издательстве Springer в сборнике «Первый контакт: пришельцы и люди в современной научной фантастике», написана Флорисом ван дер Таком, специалистом по поиску внеземных цивилизаций.
@avshkol сделал перевод этой работы, поскольку в ней простым языком описаны параметры и ограничения для возможного существования жизни на наблюдаемых планетах иных звёзд. Для всех, кто интересуется поиском внеземной жизни.
Читать далееПосле Качалки, «Чисто» и Кружка — программа для Mac. Я много пишу голосом и хотел одну клавишу: нажал, сказал, и текст появился там, где курсор, в любой программе.
Самый известный вариант — Wispr Flow: $15 в месяц или $12 при оплате за год, бесплатно 2 000 слов в неделю. В их FAQ сказано прямо: «Transcription always happens in the cloud». Есть и бесплатные без облака. Handy — открытый код, много языков. По-русски — Говорун: тоже бесплатный и открытый, на той же модели, что у меня, и умеет больше — Android, Windows, синхронизация.
Читать далееСтатья про то, как я калькулятор для антропологов по открытым данным сделал: внутри вы можете найти, на кого из древних людей вы больше всего похожи.
В июле 2026 года в PNAS вышла статья Кевина Хаталы и соавторов про следы на берегу древнего озера в северной Кении. Около 1,4 млн лет назад там прошли восемь парантропов вида Paranthropus boisei. От этого вида до сих пор находили в основном черепа с огромными челюстями и зубами, а ниже шеи почти ничего. По отпечаткам стоп авторы оценили рост до 1,8 м и массу около 75 кг. Это заметно больше, чем получалось раньше по редким костям.
Меня в этой новости зацепило не то, что парантропы оказались крупными, а сам вопрос: как вообще по следу, обломку бедра или куску таза узнают рост и вес существа, которое умерло миллион лет назад? Ответ скучнее и интереснее, чем кажется. Есть десятки опубликованных регрессионных формул, у каждой свой автор, своя выборка, своя ошибка. Я собрал главные из них в один открытый калькулятор и положил рядом базу из 311 ископаемых людей.
Читать далееЛюди, которые разговаривают на тему ИИ, обычно делятся на два типа: одни говорят так, как будто зачитывают определения из учебника, а другие впадают в ступор, если кто-то произносит слово «LLM» или «нейросеть».
Вам необязательно относиться ни к одному, ни к второму типу.
Есть 5 терминов, которые важно по-настоящему понять, а не просто вызубрить, и тогда вы будете на голову выше почти любого вашего собеседника. Неважно, работаете вы в сфере технологий, бизнесе, образовании, или вам просто интересно развитие новых технологий.
Читать далееЛичная подписка сотрудника на чужую карту, правило Anthropic про 50% владения, НДС налогового агента при покупке у иностранца и курс доллара, спрятанный в цене посредника. Разбираю по первоисточникам, что нужно компании для оплаты моделей по счёту и как считать реальную цену.
Читать далееВ новой версии встраиваемой ОС, предназначенной в первую очередь для маршрутизаторов, исправлено большое количество уязвимостей. Рекомендуется обновиться до последнего выпуска OpenWrt и установить все доступные обновления пакетов.
( читать дальше... )
У акций есть прибыль, у облигаций - купоны, у недвижимости - арендный доход. Всё это позволяет хотя бы приблизительно оценить их фундаментальную стоимость.
А как быть с биткоином?
Он не генерирует денежный поток, не выплачивает дивиденды и не имеет привычных финансовых показателей. Но при этом обладает рыночной стоимостью в сотни миллиардов долларов и привлекает всё больше инвесторов.
Можно ли определить справедливую стоимость биткоина? Сколько разумно за него платить и существует ли вообще понятие «дорого» или «дёшево» применительно к криптовалюте?
Попробуем разобраться, откуда берётся стоимость биткоина, что лежит в основе спроса на него и можно ли оценить, насколько оправдана его текущая рыночная цена.
Читать далееПочти каждый мессенджер пишет «мы не можем прочитать ваши сообщения», но проверить это обычно нельзя. В мессенджере, который я разрабатываю (Umbera), я пошёл от обратного: опубликовал криптографическое ядро — ту часть кода, которая определяет, что может узнать сервер, — и написал тесты, которые воспроизводят схему и проверяют её свойства одной командой.
Ниже — гибридная постквантовая печать сообщения (X25519 + ML-KEM-1024), почему взлом одного из алгоритмов ничего не даёт, какие метаданные сервер всё-таки видит, как защитить DTLS-SRTP от подмены отпечатков при установке звонка, и как проверить каждое утверждение самому.
Читать далееПривет, Хабр! Продолжаем развивать DBML Diagram в Boost for Java.
В предыдущем обзоре мы показывали интеграцию с dbdiagram.io, экспорт SQL и проверку отношений между таблицами. В следующем обновлении сосредоточились на работе с самой диаграммой: как ориентироваться в схеме, отделять одну предметную область от другой и перемещать связанные таблицы вместе.
В версии 2.0.0 появилась визуализация TableGroup — цветные рамки с названиями групп. В 2.1.0 мы перешли на свободный SVG-канвас: убрали ограничение перемещения слева и сверху, добавили сетку, перенос групп и более удобную навигацию.
Версия 2.1.0 уже доступна в JetBrains Marketplace. Ниже расскажем, что изменилось, какие ограничения остались и какую обратную связь нам сейчас особенно хотелось бы получить.
Страница плагина · Исходный код
Читать далееРазбираем производительность морфологических анализаторов для русскоязычных текстов в Python-среде. Расскажем, почему библиотеки семейства PyMorphy работают так медленно и как интеграция нативного C++ ядра libmorph/rus решает проблему производительности high-load систем.
Читать далееРазработчик Wayland Саймон Сер (Simon Ser) запросил слияние для внедрения нового протокола ext-transient-output. Этот протокол предназначен для удаленного управления программным обеспечением, таким как серверы VNC, в среде Wayland.
Ext-transient-output аналогичен ext-transient-seat, но работает с Wayland-выходами (wl_output). Ext-transient-seat позволяет привилегированным клиентам динамически создавать независимые рабочие места, которые полезны для программного обеспечения удаленного рабочего стола и VNC. Ext-transient-output поддерживает динамический вывод для таких клиентов, позволяя перехватывать виртуальные выходные данные с помощью ext-image-copy-capture и отображать их на удаленном устройстве.
В запросе на слияние описывается следующий принцип работы протокола: «Привилегированные клиенты могут использовать временный протокол вывода для создания независимых виртуальных выходов, которые будут удалены из компоновщика после уничтожения объекта».
Протокол совместим с протоколами захвата изображения, такими как ext_output_image_capture_source_manager_v1, и используется для сценариев удаленного взаимодействия.
Особенностью протокола является создание глобальной переменной wl_output, не привязанной к конкретному аппаратному устройству.
В настоящее время существует экспериментальная реализация ext-transient-output для библиотеки компоновщика wlroots, представленная в виде черновика запроса на слияние.
CactOS — гибридное монолитное ядро для i686 на C и Rust. В 2.0.0: ABI сокращён с 95 сисколлов до 15, модули подписываются ECDSA P-256 с vermagic-отпечатком, VFS переписан на Rust, добавлен энергогоvernor для SMP с per-core runqueues. Suspend вырезан из-за ненадёжного resume. Репозиторий x86_32 уходит в архив после тега v2.0.0.
Читать далееCross-Cleaner уже проделал большую часть работы по снижению памяти — но не на уровне парсинга, а на уровне представления данных:
Читать далее