Итан Сигел (американский астрофизик‑теоретик и научный журналист, автор рубрики «Спросите Итана», один из пропагандистов современных научных знаний), разъясняет один из ключевых вопросов современной физики: чем время как четвертая координата отличается от трёх пространственных?
@avshkol перевёл эту статью, поскольку здесь это разъясняется в простой и понятной форме. Если вы пока знакомы только с ньютоновской физикой, осознание различия пространственных и временной оси даст вам мощный буст в понимании природы Вселенной...
Читать далееПеред вами статья-инструкция, как быстро оценить репутацию, риски и медийный вес компании через OSINT-инструмент, не прибегая к утилитам сетевой разведки.
Читать далееЯ больше десяти лет делаю рекламные платформы. Команды за это время были разные — по размеру, по составу, по зрелости. Но почти всегда был один загон — всем почему‑то было очень важно работать по спринтам.
Не обязательно называть это скрамом, хотя обычно называли. Важна была именно двухнедельная итерация как фундамент вокруг чего строится планирование (или то, что им кажется), отчетность и разговор со стейкхолдерами.
Читать далееИнструмент внедрили за неделю, а правила приёмки не написали вовсе. Это не преувеличение. За последний год картина в большинстве команд стала одинаковой: ИИ-ассистент стоит почти у каждого разработчика, его код ежедневно уходит в продукт, а общего стандарта «что считать принятым» у компании нет. Проверять успевают не всё, т.к. изменений стало в разы больше, а ревьюеров в лучшем случае осталось столько же. «Выглядит правдоподобно» подменяет «проверено». Ошибка, не пойманная на входе, возвращается переделкой через одну-две недели.
Скорость выросла у всех, а дисциплина почти ни у кого. Эта статья про то, почему обычное ревью и обычный SAST в эпоху vibe coding перестают быть достаточным контуром контроля, какой стандарт приёмки ИИ-кода мы считаем минимально рабочим и как устроена проверка, в которой модель, написавшая код, не является тем, кто его принимает. Мы разберём, что именно ломается в инженерном процессе, когда код пишет не человек, и какие слои контроля должны появиться до репозитория, в IDE, в pull request и в CI/CD.
Читать далееВ деле распространения коммерческого программного обеспечения на физических носителях сложилась историческая практика — одна программа на одном носителе. Особенно это касается игр: одна игра — одна кассета, дискета или игровой картридж.
Однако, в некоторых странах в разные периоды в силу отсутствия инфраструктуры для распространения официальных изданий и расцвета пиратства приобрёл популярность иной подход: сборник. Для отечественных игроков, познакомившимися с играми в постсоветское время, привычным форматом стали сборники из десятка игр на кассетах и дискетах для ZX Spectrum, картриджи-многоигровки для Денди в стиле «999999-в-1», а также компакт-диски типа «100 лучших игр» и всевозможных программ для ПК.
Если с кассетами, дискетами и CD всё достаточно очевидно — они изначально приспособлены к хранению произвольного набора файлов, с картриджами на основе микросхем ПЗУ дела обстоят интереснее. Сегодня выясним, как появились сборники игр, они же «многоигровки» или «мультикарты», для приставок типа Денди, Сеги и Super Nintendo, и как они были устроены изнутри.
Читать далееДиффузионная LLM может пересматривать свой контекст — в отличие от ARM. Я попробовал заставить её саму чистить RAG-контекст, положив ретрив графа знаний под маску. Результат спорный.
ПодробнееПривет, Хабр! Меня зовут Вадим Винник, я старший инженер-программист в YADRO. Наша компания развивает телеком-направление с 2022 года: за это время мы прошли путь от прототипирования на отладочных платах до серийного производства и эксплуатации нашего оборудования в коммерческих сетях. О разработке базовых станций — от первых идей до инженерных решений, работающих в реальной сети, — мы рассказываем в цикле статей.
Сегодня обсудим сетевую подсистему: именно от нее зависит скорость передачи данных, стабильность соединения и емкость сети. Сначала наша сеть работала на стандартном Linux, но для огромного трафика это было накладно. Мы кое-что оптимизировали за счет DPDK, но и это был не предел. Следующим шагом стало использование аппаратного коммутатора, доступного на некоторых аппаратных платформах. Что из этого получилось — расскажу ниже.
Читать далееЭта серия из десяти частей — для тех, кто следит за новостями и любит карты. Сначала покажу, что внутри продукта, а потом разберём, как это работает. Здесь — только то, что видно на экране.
Я всегда хотел от новостей двух вещей: видеть весь мир сразу и получать его непрепарированным — не через обученных аналитиков, не через политологов, не через «независимые» СМИ, которые всё равно заняты сохранением страт. Лента даёт тебе информацию на чужих условиях: кто-то решил, что тебе показать первым, а что не показывать вовсе. Карта даёт мир и позволяет смотреть туда, куда хочешь ты.
Под этим лежат три права, и на самом деле это одно право: право говорить, право слушать, право получать и распространять информацию. Человек, у которого есть знание, тяжело поддаётся манипуляции — не невозможно, но тяжело: манипуляция живёт в зазоре между тем, что произошло, и тем, что тебе про это рассказали. Если событие стоит там, где оно произошло, и в тот час, когда произошло, часть этого зазора закрывается.
Отсюда вопрос, на который у меня нет ответа: как управлять обществом, где у всех равный доступ к непрепарированной информации? Мне интересно выяснить, что тогда останется.
Я делаю это один, почти каждый день в течение года. Карты новостей не новы, и WorldMapper не первый — но, я думаю, один из самых проработанных. И я его не брошу.
## Что на экране
Открываешь WorldMapper — видишь карту и рядом ленту заголовков. Каждая новость — точка: кликнул на пин, прочитал событие, посмотрел, что рядом. Не лента, которая тащит тебя вниз, а пространство, где ты выбираешь направление.
Читать далееЯ искал простой self-hosted инструмент для первой линии поддержки: чтобы ИИ отвечал пользователям по базе знаний в Telegram, MAX, email и веб-чате, а сложные вопросы передавал человеку. Подходящего решения для своих задач не нашёл, поэтому сделал Chatballs — open source платформу с ИИ-агентами, группами операторов, звонками, порталами поддержки и возможностью подключать собственные модели.
Читать далееВ инстант-режиме (быстром, без нажатой кнопки «Think») ChatGPT читает страницу живьём только в 7% ответов. Остальные 93% модель работает с тем, что легло в её собственный индекс на дату обхода: заголовком без обрезки (до 289 знаков) и статичным сниппетом около 200 знаков, вырезанным при индексации из H1 и соседних элементов — категории, alt-текста, даты. Сниппет не зависит от вопроса: одна и та же врезка уходит и в ответ про цены, и в ответ про характеристики. Цифры и метод — у французской команды RESONEO: 1249 ответов ChatGPT и 88 000 результатов поиска, июль-август 2026.
Такие захваты я сам не ставил: ниже — разбор чужого reverse engineering, реконструкции закрытой системы по внешним признакам трафика.
Разница между режимами — в том, что открывается. В платном thinking-режиме (режиме размышления) страница читается по-настоящему, и корпус другой: около 75% URL приходят через скрейпленную выдачу Google, четверть — через собственный индекс OpenAI. Кнопка Think на бесплатном тарифе даёт столько же источников (35,3 против 35,1 URL), но корпус зеркальный: там около 75% идёт через собственный индекс.
Читать далееAxonOS — открытый системный слой для программно-аппаратных BCI
Открыт исходный код AxonOS — проекта, который разрабатывает системный слой между нейроинтерфейсами и прикладными программами (Brain-Computer Interface, BCI). Цель проекта — стандартизировать выполнение задач, передачу нейронных данных и управление разрешениями на уровне BCI-инфраструктуры.
( читать дальше... )
Проект развивает интегрированную среду разработки, вдохновлённую философией Unix, и рассчитан на разработчиков, предпочитающих работать в терминале, но желающих получить современные инструменты работы с кодом без лишнего усложнения и визуального шума. Код написан на языке Go и открыт под лицензией GPLv3.
Rune предлагает классический редактор кода, а также возможности для сопровождения разработки на разных языках программирования, отладки, структурированного поиска и применения AI-агентов, не привязанных к конкретным поставщикам. Рабочий процесс акцентирован на управлении при помощи клавиатуры. Все процессы разработки реализованы вокруг терминала и встроенного консольного оконного менеджера в стиле tmux.
Rune поддерживает применение нескольких рабочих пространств и обеспечивает минимальные задержки и высокую производительность, благодаря задействованию GPU для ускорения отрисовки. Поддерживается разбор синтаксиса, подсветка, навигация по конструкциям и средства для «умного» поиска кода для более 300 языков. В качестве первичных языков для разработки заявлены Go, Python, Rust и TypeScript, для которых реализована более продвинутая поддержка семантики и отладки, а также обеспечена интеграция с дополнительными инструментами для интерактивного выполнения (REPL), анализа кода и управления зависимостями.
В форме дополнения поставляется собственный AI-агент Rune Agent, работающий локально и позволяющий генерировать код при работе над проектами. Помимо этого возможно использование и внешних консольных агентов, таких как Claude Code, Pi и OpenCode. Поддерживается запуск разных AI-агентов в разных вкладках, разделение окон на части, перегруппировка окон, переключение между рабочими пространствами, привязка произвольных консольных утилит к горячим клавишам.
Разбирал старые методички по линейной алгебре (да, у меня правда есть такая привычка, не спрашивайте) и наткнулся на отрывок про химию. Автор пишет: «Молекула воды — это вектор (2, 0, 1). Молекула метана — вектор (4, 1, 0)». И дальше без смущения переходит к линейной зависимости векторов, как будто написанное выше — самая естественная вещь на свете.
Сначала я подумал, что это методическая вольность ради упражнения. Потом посидел с этим с полчаса и понял, что автор-то прав, а заодно и случайно объяснил, почему вообще из любой предметной области можно слепить нейросеть. Просто в 1990-х это называлось линейной алгеброй, а не representation learning.
Читать далееВ распределённых системах недостаточно знать, что сервис работает медленно или начал возвращать ошибки. Нам часто нужно понять гораздо более конкретную вещь: что произошло с одним конкретным запросом и где именно он потерял время.
Для этого существует distributed tracing — распределённая трассировка.
В этой статье разберём, зачем она нужна, из чего состоит Trace, что такое Span, как между сервисами передаётся tracing context, какую роль в этом играет OpenTelemetry и где потом смотреть собранные данные.
Читать далееУ Codex CLI нет переменной «подставь свой URL»: OPENAI_BASE_URL он молча игнорирует и уходит в api.openai.com. Единственный путь — секция model_providers в config.toml, и в ней есть что сломать.
Собрал минимальный рабочий конфиг и девять способов его испортить: wire_api = “chat”, который больше не поддерживается; base_url без /v1, после которого в терминал прилетает HTML; supports_websockets на прокси без WebSocket; ключ открытым текстом в конфиге. Каждую ошибку воспроизвёл на версии 0.154, тексты приведены как есть.
В конце — сколько токенов стоит ответ из одного слова (спойлер: почти пятнадцать тысяч на входе) и загадка с кэшем на второй реплике, которую я пока не разгадал.
Читать далееСреди большого потока резюме сопроводительное письмо помогает выделиться и повышает шансы, что рекрутер хотя бы обратит внимание на отклик. Особенно если на вакансию много кандидатов с похожим опытом. А если опыта мало или он нерелевантный, в письме можно объяснить свою мотивацию, переход в новую сферу и то, почему именно вы подходите на эту позицию.
Но писать отдельное сопроводительное под каждую вакансию вручную долго, особенно когда для поиска работы приходится отправлять десятки, а то и сотни откликов.
ИИ заметно упрощает эту задачу: ему можно передать ваше резюме, текст вакансии и, задав грамотный промпт, на выходе получить письмо с нужными параметрами и акцентом на наиболее подходящих навыках и опыте. Главное — правильно поставить задачу и не позволить модели придумывать то, чего в резюме нет.
Дальше коротко разберём, зачем нужно сопроводительное письмо и что в нём должно быть, какие данные передать ИИ и какой промпт использовать. Затем протестируем несколько моделей на резюме и реальной вакансии, сравним результаты и сделаем выводы.
Читать далееПрактический разбор архитектуры AI‑ассистента, который постепенно вырос в production‑систему: управление состоянием диалогов, разделение каналов и бизнес‑логики, оркестрация NLU, LLM и ручной поддержки, а также Inbox/Outbox для надёжной обработки сообщений.
Статья показывает, как эти компоненты связались в единый lifecycle пользовательского сообщения и почему архитектура в итоге стала важнее самой AI‑части.
ЧитатьМы писали на Хабре про нашу быструю и качественную библиотеку для простановки ударений и разрешения омографов на русском языке. Потом к ней доехали ещё акценторы для белорусского и украинского языков и словари ещё для 17 языков.
В этот раз у нас получилось очередное приключение на 20 минут. Изначально мы не планировали делать прямо большой релиз, но как обычно одно потянуло за собой другое, в процессе мы нашли много новых источников данных и получился прямо полноценный релиз:
Что вошло в релиз?В System.Random кто-то двадцать лет назад написал 21 вместо 31. Опечатку заметили, разобрали и оставили как есть — исправить, и new Random(42) начнёт выдавать другие числа.
А ещё new Random() и new Random(42) — вообще разные генераторы. Разница на некоторых методах доходит до 10 раз.
Читать далееПривет, Хаброжители! Четкие пояснения, пошаговые примеры кода и великолепные иллюстрации объясняют алгоритмы, на которых строится современный генеративный ИИ.
А знания закрепляются на увлекательных сквозных примерах: от прохождения лабиринта с помощью поисковых алгоритмов до управления беспилотным автомобилем на оживленной парковке с помощью обучения с подкреплением.
Второе издание было полностью переработано и дополнено новыми главами, посвященными базовым алгоритмам больших языковых моделей (LLM) и моделям генерации изображений.
Читать далее