Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

Когда пет-проект выходит из-под контроля: пишем свой tun2socks и закрываем дыры в Android VPN

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели13K

Всё началось чисто по приколу. Недавно в сети поднялась шумиха вокруг уязвимости VLESS-клиентов: оказалось, что даже при использовании сплит-туннелирования (когда VPN включен только для избранных приложений), любое «шпионское» приложение на телефоне может узнать IP-адрес вашего VPN-сервера.

Уязвимость была тривиальной — ядро клиента открывает локальный SOCKS-прокси, который никак не защищен. Любая софтина на устройстве может постучаться в этот локальный порт и отправить пакет наружу. Ради академического интереса я написал Android-приложение TeapodStream, под капотом которого связал xray-core и tun2socks. Локальный прокси я посадил на случайный порт и закрыл динамическим паролем (подробнее об этом писал в прошлой статье).

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

Но... я сам не заметил, как меня затянуло.

Читать далее

Новости

Как сайты собирают цифровой отпечаток пользователя — почему VPN больше не спасает (О Fingerprinting)

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели36K

Я раньше был уверен, что понимаю, как работает отслеживание в интернете. Очистил cookies - чист. Включил VPN - спрятался. Поставил блокировщик - стал почти невидимым. Звучит логично, правда?

Проблема в том, что всё это работает только на уровне, который уже давно не является основным.

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

И самое неприятное - этот отпечаток можно получить без cookies, без авторизации и даже без твоего явного согласия. Ты можешь открыть сайт впервые, но для системы ты уже «кто-то знакомый».

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

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

Читать о fingerprinting

Эдсгер Дейкстра. Человек, который придумал параллельные вычисления

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели11K

Д-р наук, профессор Эдсгер Дейкстра (Edsger W. Dijkstra, 1930−2002) — легендарный голландский и американский учёный, труды которого заложили фундамент современного программирования. Среди всех учёных прошлого Дейкстра оказал самое большое влияние на современную информатику. Он один из разработчиков концепции структурного программирования, формальной верификации, распределённых вычислений, построения компиляторов, графовых алгоритмов, дизайна алгоритмов, дизайна ПО, дизайна математических аргументов, языков программирования и операционных систем.

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

Читать далее

Налоговая слежка за переводами на карту, а также начало суда Маска против Альтмана

Время на прочтение7 мин
Охват и читатели16K

Самые интересные новости финансов и технологий в России и мире за неделю: Джером Пауэлл провел свое последнее заседание ФРС, ОАЭ вышли из ОПЕК, Илона Маск ждет бонус за миллионную колонию на Марсе, Белый дом не хочет делиться новой нейронкой Anthropic, а также аж две хороших новости недели (одна из них – про релиз новых HoMM!).

Читать далее

Remoded: разбираем демо-эффекты (часть 1)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели8.2K

Приветствую всех ценителей больших пикселей и выпуклых мониторов. Мы продолжаем разбираться с технологиями демосцены 90-х. В этой статье: недокументированные режимы VGA, аппаратный скролл, fake mode, палитровая анимация, и многое другое, о чем бесполезно спрашивать у ChatGPT.

BEGIN

Синхронизация часов — это кошмар

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.4K

Кажется, что время — это просто. Но мы, инженеры, теряем сон из-за такой простой задачи, как синхронизация часов.

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

Синхронизация часов становится основой самых сложных задач в распределённых системах, она влияет на всё, от согласованности баз данных и отладки до финансовых транзакций.

Читать далее

Как гигантским корпорациям стало выгоднее вкладываться в AI, чем в майнинг биткоина

Время на прочтение9 мин
Охват и читатели9.3K

Называть биткоин или любую другую криптовалюту «валютой» всегда было некорректно. Это не масштабируемое средство платежа и не единица измерения стоимости. На него приходится менее 5% транзакций по товарам и услугам. Криптовалюта даже не является активом, поскольку у нее нет потока дохода, функций, промышленного или реального применения (в отличие от золота и серебра).

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

Читать далее

Создаем I2C Master Controller на Verilog. Переходим на новый уровень

Уровень сложностиСредний
Время на прочтение40 мин
Охват и читатели8.9K

Наконец-то нашлось вдохновение и время вернуться к старой статье, в которой я изобретал I2C Master Controller, но так и не довел задачу до логического конца. Спустя почти три года много воды утекло, появилось множество возможностей и ряд компетенций и я хотел бы реанимировать решение этой задачи и продолжить рассказ. Перечитав старый материал, я сформулировал обновленную группу задач: переделать I2C Master Controller, снабдив его функциями, которых не было в первой версии, типа clock stretching и burst-режима при этом сопроводив это детальным описанием процесса реализации и объяснением почему были предприняты те или иные действия. После все это воплотить сначала в симуляции, а потом и на реальном железе, с использованием EEPROM и OLED-дисплея SSD1306.

Вобщем, всем неравнодушным к теме цифровой схемотехники, ПЛИС и шине I2C - добро пожаловать под кат! :)

Читать далее

FastCGI исполнилось 30 лет, и он до сих пор лучше HTTP для прокси-к-бэкенду

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

Знаете, кому 29 апреля стукнуло 30 лет? Спецификации FastCGI. Тридцать лет с 1996 года. Погодите. Эта заметка не про ностальгию по .fcgi-скриптам, которые на каждый запрос форкали отдельный процесс и которыми сегодня никто не пользуется. И не про CGI вообще.

Разговор о другом. У нас всех в проде между прокси и бэкендом обычно стоит HTTP. nginx перед Go-приложением, Caddy перед Python-сервисом, Apache перед PHP-FPM, неважно, поверх там HTTP/1.1 или HTTP/2. И вот Эндрю Айер на agwa.name к юбилею FastCGI собрал аргументы, что этот участок инфраструктуры всё это время сидит на не самом удачном протоколе. Айер основатель SSLMate, и в SSLMate всё крутится на FastCGI в проде уже больше десяти лет. Так что пишет не теоретически.

Заметка короткая и по делу. HN-тред собрал сотню комментариев, для 2026 года это не топ, но там пишут люди, которые знают, о чём говорят. Если попроще, аргумент такой: у HTTP как протокола между прокси и бэкендом есть два структурных бага, которых у FastCGI нет, и индустрия за тридцать лет так и не нашла повода переехать. А обсуждение в треде ушло дальше: почему вообще HTTP победил, если он хуже технически. И ответ оказался любопытнее самого аргумента.

Читать далее

ILM: Фабрика грёз Джорджа Лукаса

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели9.1K

25 мая 1977 года на экраны американских кинотеатров вышел фильм «Звездные войны» Джорджа Лукаса (в будущем ставший «Эпизодом 4: Новая надежда»), совершивший революцию в жанре фантастических фильмов. Обычные зрители пищали от восторга, наблюдая за невероятно реалистичными визуальными эффектами на экране. Люди, более вовлеченные в отрасль, испытывали не менее сильную гамму эмоций. 

Тогда еще не «сэр» и не «дед» Ридли Скотт, по выходу из кинотеатра, заявил, что все его фильмы теперь — прошлый век. Стивен Спилберг, получивший всего год назад Оскар за «Челюсти», после просмотра ленты на пару недель погрузился в депрессию. Он уже завершал монтаж фильма «Близкие контакты третьей степени», но теперь их спецэффекты выглядели для него совершенно устаревшими. Мартин Скорсезе говорил, что теперь за разговорами о будущем кино следует ехать в Сан-Франциско к Джорджу Лукасу. А один молодой студент физфака, зарабатывавший на еду вождением грузовика, после просмотра «Звездных войн» решил бросить все и уйти в кинематограф. Звали его Джеймс Кэмерон.

Даже негативно настроенные критики признавали доселе невиданный уровень графики в «Звездных войнах». Фильм Джорджа Лукаса переоткрыл мощь визуальных эффектов не только для обычного зрителя, но и для кинематографистов по всему миру. Он показал, как сделать на экране реальностью самую сумасбродную фантазию и заставить миллионы людей поверить в неё. Это была подлинная магия кино, совершить которую Лукасу не удалось бы без коллектива: созданной им же студии спецэффектов Industrial Light and Magic (ILM). О её первых шагах и будет этот текст.

Читать далее

MarkMello: быстрый Markdown viewer для тех, кто каждый день живёт в .md

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели15K

В последнее время я почти каждый день работаю с Markdown-файлами.

Документация, спецификации, ADR, планы реализации, инструкции для AI-агентов — всё это удобно держать в .md. Формат простой, читаемый, хорошо ложится в git и нормально работает как для человека, так и для модели.

Но есть бытовая проблема.

Чтобы быстро посмотреть Markdown-файл, часто приходится открывать IDE. Разумеется да, любая нормальная IDE умеет показывать .md. Но запускать ради этого полноценную среду разработки — избыточно. Особенно если задача простая: кликнуть по файлу, быстро прочитать, скопировать кусок текста, закрыть.

Я начал искать лёгкий Markdown viewer и понял, что большинство найденных вариантов меня не устраивают.

Читать далее

Скрытая цена LLM: как KV-cache увеличивает стоимость инференса и как эту проблему решает Google TurboQuant

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.9K

При инференсе LLM общее потребление памяти определяется не только размером самой модели, но и промежуточными данными, накапливаемыми в процессе ее работы. С ростом контекста объем этих данных растет почти линейно и может стать сопоставимым или даже превышать размер самой модели.

В основе этой проблемы лежит KV-cache. Пример: у LLaMA 2 7B веса занимают около 14 ГБ, но при контексте 8K токенов KV-cache весит уже примерно 4 ГБ. Всего при четырех параллельных запросах это около 16 ГБ.

Это и есть скрытая цена инференса, которая не так очевидна на первый взгляд.

Читать далее

Редактор строк в BASIC на ПЭВМ Корвет

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Я начинал своё знакомство с персональными компьютерами на ZX Spectrum 48. Он предоставлял довольно специфический, но вполне удобный и быстрый редактор програм. ZX Spectrum 128 уже имел полноценный полноэкранный редактор. На Commodore64 редактор тоже не заставлял чувствовать себя калекой. Даже на суровом отечественном БК0010-01, редактор позволяет вполне сносное редактирование и копирование ранее введённой строки. Что же касаемо BASIC`а Корвета

Читать далее

Ближайшие события

180к MAU, 43% детей и „филькина грамота“: как я искал уязвимости, а нашёл бизнес-схему

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.7K

Нашел в российском дейтинг-боте Mimolet с якобы 180k MAU несколько high-уязвимостей: IDOR, отсутствие rate limiting, обход токенов и публичный доступ к медиа.

Это позволило легко получить доступ к ~12k профилям и ~24k файлам, при этом 43% анкет принадлежат несовершеннолетним. Также удалось обойти ограничения, которые связаны с премиум-подпиской.

История про то, как багхантинг перерастает в расследование о халатности в обращении с персональными данными юзеров. Результат – весьма неожиданный.

Читать далее

Почему self-hosted LLM падает в проде

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.1K

Привет! Меня зовут Андрей Пахомов, я разработчик в AI Platform Битрикс24. Сегодня расскажу, почему self-hosted LLM ломается в проде, где на самом деле возникают проблемы и какие метрики помогают вовремя это увидеть.

Читать далее

Паттерны событийно-ориентированной архитектуры в облачном банкинге: что работает, а что ломает систему

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.9K

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

В статье разбираем, как EDA ведёт себя в облачном банкинге: где она действительно помогает развязать системы и упростить аудит, а где добавляет новую сложность — от outbox/inbox и идемпотентности до границ доменных и интеграционных событий.

Разобрать паттерны

Больше контекста — хуже результат

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.2K

После статьи про Cursor и сжатие контекста я получил много комментариев. В коментах спорят: виноват компактинг? Или attention dilution? Или модель просто ослушалась? Или проблема вообще не в контексте, а в alignment?

Спор хороший, но он показывает фундаментальную проблему: у инженеров нет общей картины того, как LLM работают с контекстом. Мы видим симптомы (агент удалил базу, модель галлюцинирует, точность падает на длинной сессии), но не понимаем механизмы.

Попробуем собрать эту картинку

Бооольше нейрослопа :)

QA в 2026 году: почему лёгкого входа в IT больше нет

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.9K

Рынок QA изменился: конкуренция выросла, требования стали жёстче, а старые сценарии входа больше не работают. В статье — честный разбор рынка, требований и иллюзий, которые до сих пор продают новичкам.

Читать далее

Как Rust обманывает процессор: тайная жизнь niche-оптимизации, drop flags и MIR

Время на прочтение5 мин
Охват и читатели4.1K

Большинство статей про Rust заканчиваются на borrow checker и lifetimes, как будто внутри компилятора живёт только проверяльщик заимствований и злой шрифтовый дизайнер для сообщений об ошибках. На деле там целый зоопарк механизмов, о которых редко пишут даже на конференциях. Я собрал несколько по настоящему любопытных вещей, которые меняют представление о том, как устроен язык изнутри, и подкрепил каждый сюжет кодом, который можно скопировать и проверить самому.

Начнём с того, чего никто не ждёт. Знакомая всем конструкция Option ссылки занимает ровно столько же байт, сколько и обычная ссылка. Это кажется магией: ведь у Option должен быть тег, отличающий Some от None. Никакого тега нет. Компилятор знает, что ссылка в Rust никогда не может быть нулевой, и использует нулевой адрес как представление варианта None. Этот трюк называется niche optimization, и он работает гораздо шире, чем принято думать. Проверим руками.

Читать далее

Странные ИИ‑существа из 00-х, которые научились размножаться сами

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.1K

Искусственный интеллект пришел в мир почти 70 лет назад. А наши жизни он захлестнул поистине атилловским вторжением совсем недавно.

Но когда еще сотовые телефоны едва помещались в карман, мониторы были пузатыми, а ПК стоили как целая машина, ИИ был уже рядом, делая первые робкие шаги. Сегодня мы расскажем об игре на основе AI‑модели, которая наделала много шуму в 90-х и начале нулевых. А все потому что ее персонажи были пугающе умными.

Читать далее