Habr.com

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

Yet another Rust VPN (TUN-QUIC-TUN)

Sat, 07/11/2026 - 15:43

На поделке из предыдущей статьи вдохновение не закончилось, решил написать VPN. Был опыт разработки shadowsocks сервера, что не понравилось: под каждое TCP соединение, открываемое каким-нибудь браузеров, VPN клиент открывает отдельное TCP cоединение к серверу, а тот в свою очередь столько же до конечной точки + пришлось руками шифровать/дешифровать payload. Захотелось сделать что-то более простое + самим написать и клиент.

Читать далее

Новая версия языка разметки текстов Markvan

Sat, 07/11/2026 - 15:32

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

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

Узнать про альтернативный способ разметки

Как я превратил Apple Studio Display в игровой монитор для Switch, Steam Deck и Xbox

Sat, 07/11/2026 - 15:29

У Apple Studio Display есть особенность, о которой не пишут в рекламе: за две тысячи долларов ты получаешь шикарный 5K-монитор без единого видеовхода. Ни HDMI, ни DisplayPort — только Thunderbolt. А у меня три консоли (Switch, Steam Deck и Xbox), которые очень хотели на этот экран.

Казалось бы, задача решается картой захвата и OBS. На практике задержка такая, будто играешь по удалённому рабочему столу, а картинка на 5K — мыльная.

Мне стало интересно, куда деваются миллисекунды, если убрать из цепочки всё лишнее. Так появился GameMonitor — нативное macOS-приложение на Swift (AVFoundation + Metal), которое кладёт кадр с карты на Studio Display с минимальной задержкой. Писал под один Switch, а получил монитор для чего угодно с HDMI.

В статье — почему готовые решения не устроили, как устроен захват видео в macOS, зачем понадобился свой рендерер на Metal (спойлер: MetalFX и апскейл до 5K) и какие неожиданные баги вылезли по дороге (включая полностью зелёный экран).

Читать далее

Краткая история создания электронных таблиц: от древних шумеров и до BCL на языке Fortran

Sat, 07/11/2026 - 15:17

Что такое электронная таблица, объяснять не надо. Все знают Excel, и многие хоть раз им пользовались. История создания электронных таблиц тоже, на первый взгляд, незамысловатая и сравнительно недолгая: как только появились первые ПК, сразу началась разработка ПО для выведения на экран их монитора интерактивной таблицы, которая сильно облегчила бы работу бухгалтеров и менеджеров. IT-инженеры уложились в 15 лет, с конца 60-х до середины 80-х, чтобы создать электронную таблицу от начала и до конца – от разработки самого принципа ее программирования до появления первых электронных таблиц (от VisiCalc до Excel) на экране ПК, сильно порадовав тем самым белых воротничков (и не только их). Дальше шло лишь усовершенствование электронных таблиц.

С чего вдруг IT-инженеры и изобретатели озаботились бухгалтерскими проблемами, тоже понятно. Люди старшего поколения помнят, что можно было делать на первых ПК 70-х и 80-х годов, еще до эпохи интернета. Если оставить в стороне возможность самостоятельно заняться программированием и обмениваться файлами с такими же энтузиастами, что сейчас часто ставят в заслугу первым ПК (для этого все-таки надо было в душе быть айтишником), то на этих ПК можно было играть в интерактивные игры (правда, на игровых приставках к телевизору это обходилось дешевле) и можно было использовать ПК как пишущую машинку, при пользовании которой не надо было замазывать белилами ошибки и ждать, когда те высохнут, чтобы напечатать поверх правильную букву. Сказать, что это сильно порадовало писателей и редакторов бумажных СМИ значит ничего не сказать, это была настоящая революция в писательском и издательском деле, сравнимая разве что с изобретением печатного станка Гутенбергом в XV веке. А когда к этому добавились еще электронные таблицы для сведения дебета с кредетом в интерактивном режиме, это была еще одна революция в бухгалтерии того же масштаба, если не большего.

Читать далее

Over The Top: WW1 (2026) — разбор уникальной MMO про Первую мировую

Sat, 07/11/2026 - 14:19

Тематика Первой мировой войны не слишком часто находит отражение в современной игровой индустрии, особенно, если речь идет о шутерах. На ум приходят разве что Battlefield 1 и серия MMO-шутеров от студии BlackMill Games: Verdun, Tannenberg, Isonzo и пока еще не вышедшая Gallipoli.

Однако в марте 2026 года состоялся релиз Over The Top: WW1 — многопользовательской стрелялки, которая вместо навыков стрельбы и скорости реакции геймеров-одиночек на первое место ставит командные усилия, умение ориентироваться в меняющейся обстановке, а также глубокое понимание сути окопной войны.

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

Читать далее

Диктофоны и жизнь после жизни

Sat, 07/11/2026 - 14:11

Мы занимаемся разработкой и производством диктофонов для безопасности Edic‑mini и аудиобейджей «Свидетель» для улучшения качества работы с клиентами (запись общения с клиентами, далее перевод записи в текст и речевая аналитика).

Читать далее

Онигири: путь рисового колобка от японской древности до наших супермаркетов

Sat, 07/11/2026 - 14:01

Наши обыденные представления о традиционной японской кухне несколько отличаются от реальности. Суши — блюдо со сложной биографией, которое в знакомой нам форме сформировалось не в Японии, а в среде японских эмигрантов на западном побережье США. Рамен принесли в Страну восходящего солнца уже китайские иммигранты. Да и в виде лапши быстрого приготовления, которая многими японцами считается главным национальным изобретением XX столетия, её придумал выходец с Тайваня. Тэмпура — результат знакомства с португальцами в XVI веке. Однако в последние пару лет в нашей стране популярным и уже привычным перекусом стало одно из самых древних и исконных блюд японской кухни в самом строгом смысле слова. Речь идёт об онигири. Их «биография» уходит в доисторическое прошлое Азии, где подобные блюда, возможно, имели отношение к человеческим жертвоприношениям. На островах они появились вместе с земледелием — после чего судьба рисовых колобков или треугольников оказалась неразрывно связана со всеми перипетиями истории Японии — от хэйанских аристократов и самураев до современных офисных клерков и отаку.

Читать далее

Как добавить генерацию изображений в ваш продукт без DevOps-настроек: пошаговый гайд

Sat, 07/11/2026 - 13:15

Уверен, у многих есть хотя бы один пет-проект, перспективный B2B SaaS, CRM, другими словами — сервис, который когда-нибудь обязательно выстрелит. В процессе разработки у многих стильных, модных и молодежных проектов рано или поздно появляется вопрос: «А что если добавить генерацию изображений или видео?». На первый взгляд все выглядит просто: берем Comfy UI, собираем workflow, выбираем модели — и готово. Локально все действительно можно собрать за один вечер.

Проблемы начинаются ровно в тот момент, когда решением пользуетесь не только вы. Первый пользователь ждет 20-30 секунд, второй стоит в очереди, остальные уже получили свои тайм-ауты, а вы внезапно ловите себя на том, что читаете документацию про Kubernetes и настраиваете балансировку запросов, вместо того, чтобы сконцентрироваться на развитии продукта... И вот тут уже развертывание Comfy UI кажется не настолько простой задачей как в начале.

Если вам знакома эта ситуация или вы только планируете добавить генеративный ИИ в свое приложение, эта статья для вас. Покажу, как превратить Comfy UI workflow в API, которым можно пользоваться из любого приложения, не поднимая инфраструктуру и не привлекая внимания санитаров.

Добавить асинхронную генерацию!

Сказ про Лукаса-героя да про Postgres и Timescale: SA и его необычная задача

Sat, 07/11/2026 - 13:10

Одна из особенностей, выделяющих роль системного аналитика среди всего многообразия позиций в ИТ, —  его зона ответственности, а точнее — границы этой зоны. Поскольку он находится на стыке разработки и бизнеса (не говоря о том, что часто выступает в роли интегратора, Delivery manager, Product manager, Scrum master, архитектора и так далее), лучше всего эту работу можно описать картинкой ниже.

Время от времени в руки SA попадают «непрофильные» задачи, которые могут стать настоящим вызовом, выковать характер или причинить ментальные муки. Но чаще все вместе.

И снова привет, Хабр! На связи Александр Малышев, лид SA в МТС Cashback. Это продолжение истории про «рыцаря системной аналитики без страха и упрека» в которой я рассмотрел дилемму изменчивости требований. Вторая часть посвящена зоне ответственности SА. Так как вопрос довольно непростой, то я решил подать его в нетипичной для Хабра и юмористической форме — стихотворной истории в духе народных сказок.Тем, кто хочет немного отвлечься от рутины — желаю приятного чтения!

Читать сказку

Mamba: архитектура, которая шла убивать трансформеры

Sat, 07/11/2026 - 13:00

В декабре 2023 по ML-тусовке прокатилась волна заголовков в духе «трансформерам конец». Поводом стала статья двух исследователей — Альберта Гу и Три Дао — со скучным названием: «Mamba: моделирование линейно-временных последовательностей с использованием селективных пространств состояний». Внутри была архитектура, в которой не было механизма внимания, того самого attention, на котором держится весь современный тир-лист нейронок. И при этом она работала на длинных текстах в несколько раз быстрее трансформера, при меньшем расходе памяти.

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

Читать далее

Откуда берут начало современные QoS-решения? История вопроса — первые телефонные линии в США, эрланг и ARPANET

Sat, 07/11/2026 - 12:16

Современная инфраструктура во многом держится на решениях для обеспечения качества обслуживания (QoS). Один из таких инструментов — PCEF, давно стал рабочей лошадкой сетевых операторов. В материале расскажем о том, как зародилась концепция QoS, и как она воплотилась в жизнь: начиная с первых телефонных линий на заре XX века и заканчивая выяснением вопроса, а что же считать «качеством обслуживания», над решением которого бились ученые 1970-х и 1980-х.

Читать далее

Теория относительности — это синус. Мнимого угла

Sat, 07/11/2026 - 11:59

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

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

В основе всей статьи один ход, которому двести с лишним лет: подставить в синус мнимый угол. Операция законна с тех пор, как Эйлер переписал синус через экспоненту: ряду всё равно, веществен ли аргумент. Этим ходом Лобачевский построил свою геометрию, а Минковский — пространство-время; пройдём его тем же ходом. Итак: что такое sin(iθ)?

Путь: ход Эйлеракорень всегокруг и гиперболагеометрия Лобачевскогоэмбеддинги нейросетейотносительностьмалые углычёрная дырабонус: слово «синус»итог

Дойти до света

Вакансия про AI, а на собеседовании — код в блокноте. Где логика?

Sat, 07/11/2026 - 11:21

Недавно я прошёл несколько технических собеседований, и меня удивил один момент. Для всех вакансий требуется навык работы с AI-инструментами. Но на самих собесах меня просили написать рабочий код в текстовом редакторе без подсветки синтаксиса и решать алгоритмические задачи.

Возник вопрос: почему так происходит и нормально ли это для 2026 года?

Читать далее

LLM говнокодит не хуже людей. Только быстрее

Sat, 07/11/2026 - 08:36

Полгода назад я начал писать пет-проект практически полностью с помощью LLM-агентов. Первые недели это был чистый дофамин: фичи вылетали за вечер, я один успевал столько, сколько раньше делала небольшая команда. А потом всё начало вязнуть — ровно так, как вязнет любой проект с говнокодом: каждая новая фича ломала две старые, агент правил код «на ощупь», а я тратил время не на продукт, а на разгребание.

Под катом — что я понял и что в итоге сработало: почему LLM деградирует на плохой архитектуре точно так же, как команда людей; почему SOLID, DDD и чистая архитектура не устарели, а стали важнее; и как превратить архитектурные договорённости из «пожеланий в CLAUDE.md» в контракт, который машина не может нарушить. С конкретикой: два конфига deptrac для Symfony-бакенда и пайплайн разработки с субагентом-ревьювером.

Читать далее

Браузерная игра на Kotlin: практический обзор KorGE

Sat, 07/11/2026 - 08:03

Посмотрим на движок KorGE для разработки простых игр на Kotlin: спрайты, музыка, мобильное управление, fullscreen, landscape-режим и маленькие футбольные радости от Норвегии

Посмотреть демку

Obsidian как мини-CRM: как я научил канбан-доску наполняться заказами с Kwork без моего участия

Sat, 07/11/2026 - 03:53

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

Познакомился я с ним ещё в универе. Сначала зацепили граф связей и нормальная работа с LaTeX. Кто учил билеты по физике, тот поймёт: формулы, ссылки между темами и быстрый поиск реально спасали.

С вышматом вышло хуже. Возможностей встроенного LaTeX мне уже не хватало, поэтому часть билетов я всё равно расписывал в тетради. В общем, Obsidian с вышматом не справился. Я, если честно, тоже не сразу.

Но к тому моменту программа уже прижилась.

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

Теперь захотелось проверить, можно ли приспособить Obsidian ещё и к работе.

Читать далее

Энтузиаст запустил GLM-5.2 на ноутбуке с 25 ГБ RAM: без дистилляции, но на скорости от 0,05 токена в секунду

Sat, 07/11/2026 - 00:34

Разработчик-одиночка под ником JustVugg представил Colibri — движок, который запускает открытую модель GLM-5.2 с 744 миллиардами параметров на обычном компьютере с 25 ГБ оперативной памяти. Для сравнения, даже 2-битный квант моделей этого семейства требует порядка 220 ГБ памяти. На момент написания текста проект собрал более двух тысяч звезд на GitHub.

GLM-5.2 — флагманская открытая модель китайской Z.ai, веса опубликованы под лицензией MIT: 744 миллиарда параметров всего, из них около 40 миллиардов активных на токен, контекст до миллиона токенов. На кодинг-бенчмарках она считается сильнейшей открытой моделью, которая "дышит" в спину закрытым конкурентам вроде Opus 4.8 и GPT-5.5. Проблема в том, что при классическом подходе все веса модели должны находиться в памяти одновременно — отсюда минимум для запуска в сотни гигабайт.

Ключевое наблюдение автора Colibri: в MoE-архитектуре от токена к токену реально меняется лишь малая часть задействованных весов. Плотная часть модели — внимание, эмбеддинги и общие эксперты, около 17 миллиардов параметров — постоянно находится в памяти в int4-кванте и занимает 9,9 ГБ. А 21 504 маршрутизируемых эксперта, каждый примерно по 19 МБ, лежат на NVMe-накопителе (около 370 ГБ) и подгружаются по требованию.

Важная оговорка: модель не урезана и не дистиллирована, все 744 миллиарда параметров на месте, но веса сжаты до 4 бит — это тот же компромисс, что и у привычных квантов GGUF.  На каждый новый токен модель опрашивает 8 экспертов в каждом из 75 MoE-слоев, так что без прогретого кэша один токен обходится примерно в 11 ГБ прочитанных с диска данных (о том, как это влияет на износ — дальше по тексту).

Читать далее

Не то золото, что блестит, или интервью с коллекционерами из разных стран. Часть 9. Испания

Sat, 07/11/2026 - 00:10

Сегодня вашему вниманию предлагается девятая серия - Испания и её житель, скрывающийся под позывным DarkLolo.

Читать далее

Что такое код на самом деле? И почему он (не) нужен?

Fri, 07/10/2026 - 23:56

Когда я коммитил код в последний рабочий день на этой неделе, я задумался:
«А что из закоммиченного мне не страшно потерять?»

И понял странную вещь: сам код — не жалко.
Страшно потерять другое: требования к системе и навыки агентов, которые умеют эти требования превращать в работающую систему.

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

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

По сути, это были способы сделать «представление требований в коде» устойчивым к ограничениям человека.

Сейчас ситуация начинает меняться.

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

Читать далее

Подготовка данных: как мы формируем производственные панели

Fri, 07/10/2026 - 22:16

К моменту, когда заказ доходит до этапа формирования производственной панели, основная проверка данных уже проведена: слои проверены на соответствие технологии, выявлены и исправлены потенциальные проблемы. Теперь перед производителем стоит задача — объединить несколько заказов в одну панель и подготовить её к запуску в производство.

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

Читать далее

Who's online

There are currently 1 user and 14 guests online.