Обновить

Все потоки

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

Оно обязательно сломается: не «если», а «когда»

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

Навеяло несколькими прочитанными недавно статьями и комментариями к ним.

Люди, помните — «дерьмо случается»! Конечно, хорошо жить в мире где всё идет строго по плану, работает без ошибок и сбоев, никто не пытается ни в чем навредить и так далее — от только где он, этот мир?

Вот недавнее: джава‑скрипты в браузере сожрали кучу памяти, потому что где‑то на роутере пакеты не проходили так, как от них ожидалось.
Хорошо, конечно, что причину удалось найти — но как вообще могло такое получиться?

Читать далее

Новости

Почему не взлетели дирижабли? Часть 6: Лондон под бомбами

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

Первый налёт цеппелинов на Британию, состоявшийся 19 января 1915 года, показал: английские небеса практически беззащитны перед немецкими военными дирижаблями и их бомбами. Если армейские цеппелины, пытавшиеся бомбить Париж через линию Западного фронта или города Российской империи, регулярно гибли либо получали тяжёлые повреждения от зенитного огня, то в налётах флотских машин на Британию главным их врагом была коварная погода Северного моря. Поначалу кайзер запрещал бомбить Лондон из-за родственных чувств к королевской семье своего кузена Георга V, но по мере роста ожесточённости войны ограничения были сняты. Первый же рейд новейшего LZ-38, сбросившего более тонны бомб на британскую столицу, унёс 7 жизней и нанёс материального ущерба на сотни тысяч фунтов стерлингов. При этом британские зенитчики и лётчики не смогли противопоставить вражескому дирижаблю в небе Лондона решительно ничего. Кайзер и военное руководство Германской империи были в восторге — и постановили обрушить на «проклятый Альбион» всю мощь бомбовой нагрузки боевых воздушных кораблей.

Читать далее

Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse

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

Всем привет, меня зовут Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS. Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.

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

В этой статье я расскажу о том, как мы бесшовно перенесли данные из Postgres в ClickHouse. И при этом сократили оперативную память в 4 раза, а размер потребляемого дискового пространства — на порядок.

Читать далее

Новый VPN-протокол TrustTunnel спасет нас

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

Привет, Хабр! На днях AdGuard выложил в открытый доступ свой VPN-протокол, который назвал TrustTunnel. В статье разберемся, чем он отличается от того же VLESS и как устроен на самом деле.

Читать далее

Что мы считаем, когда считаем эффективность: от парового двигателя до нейросетей

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели5.5K

Почему метрики перестают работать? История измерения эффективности от Адама Смита до наших дней. Закон Гудхарта, тейлоризм, Деминг и уроки четырёх промышленных революций.

Читать далее

Кастомные аллокаторы для игровых движков: arena, pool и slab на C++

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

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

Рассмотрим три основных типа: arena, pool и slab — когда какой использовать, как реализовать, и какие подводные камни ждут.

Смотреть реализацию

Сколько стоит современная ностальгия. Смотрим, как оживляют старые консоли и какие деньги на это тратят

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

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

Спорить не будем. Кому-то действительно приятно играть на оригинальном железе, и… А точно ли приятно? А насколько та же PSP выдерживает проверку временем по вопросу, например, экрана?

Ответ очевиден — не выдерживает. Как и пожилая PS1 уже устала гонять эти ваши записанные на скорости х4 болванки, да и на экран Game Boy Advance в 2026 без слез не взглянешь.

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

Читать далее

Краткая история подшипника: от разработок Тимкена до инноваций Баббита

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

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

Закавыченная выше цитата – из патента 1878 года на «Улучшение конструкции колес». В этой конструкции изобретатель Томас Кинг предусматривает в ступице колеса подшипник с зубчатыми роликами, «благодаря которым можно уменьшить или полностью устранить вероятность поломки оси, возникающую из-за боковых нагрузок на колесо».  

Читать далее

Настольная молния

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

А.А.Воробьёв — «Сверхвысокие электрические напряжения»

Электрические потенциалы высоких значений, окружают нас повсюду — от молний во время гроз, извержений вулканов, до «микромолний» при снимании синтетического свитера*. 

Человек нашёл множество применений этим потенциалам — заряжая бумагу с помощью коротронов/зарядных роликов в лазерных принтерах, производя очистку воздуха от пылевых загрязнений и даже передавая на расстояние высокое напряжение, по лазерному лучу (который на краткое время создаёт ионизированный канал в воздухе). 

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

Читать далее

Как старый роутер съел 2.5 ГБ ОЗУ в моей вкладке, или cетевой инфаркт асинхронного кода

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

Интро

Это история о том, как «кривой» роутер научил меня смотреть на память браузера иначе. Есть вкладка с ИИ-чатом, есть WebSocket/Streaming, есть обычный i5. И есть момент, когда все это превращается в кирпич: вкладка раздувается до гигабайтов, процессор залипает, страница оживает только на пару минут после перезагрузки.

Лид

Проблема оказалась не в нейросетях и не в JS. Виновник — старый домашний роутер, который не вывозил IPv6 и фрагментацию. Итог — застрявшие пакеты, нарастающий буфер в браузере и тысячи незавершенных async/await-машин в памяти.

TL;DR

- Вкладка с WebSocket раздувается из-за сетевых затыков.
- Роутер ломает MTU/IPv6, пакеты зависают, bufferedAmount растет.
- Асинхронные цепочки не завершаются и копятся в Heap.
- Фикс: MTU 1400 + отключение IPv6.
- В коде: мониторинг bufferedAmount, таймауты и AbortController.

Симптом

- Вкладка с ИИ-чатом пухнет до 1–2.5 ГБ.
- CPU уходит в 100%, интерфейс замирает.
- Перезагрузка помогает на 5 минут, дальше все повторяется.

Читать далее

Как медь стала узким местом для ЦОД и энергетики и что с этим делать

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

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

Согласно отчету S&P Global, глобальный спрос на медь вырастет на 50% к 2040 году, с 28 миллионов тонн в 2025 году до 42 миллионов. Основные драйверы роста здесь — базовая экономика, переход на чистую энергию и модернизация сетей. Искусственный интеллект (куда ж без него ) добавит еще около 2 миллионов тонн дополнительного спроса за этот период. Без новых источников добычи и переработки общий дефицит может превысить 10 миллионов тонн в год. Давайте оценим, что происходит и насколько все это решаемо.

Читать далее

Zorin OS и эффект Windows 10: почему миграция на Linux вдруг стала массовой

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

Linux-дистрибутивы с интерфейсом в стиле Windows — не новинка, они появлялись и раньше, но оставались нишевыми проектами для энтузиастов. Однако в последние пару лет ситуация изменилась кардинально: такие системы начали активно выходить в массовый сегмент, привлекая обычных пользователей, которые раньше и не думали об отказе от Windows.

Причина проста — Microsoft сама подтолкнула людей к поиску альтернатив. Завершение поддержки Windows 10 в октябре 2025 года, жесткие требования Windows 11 и рост цен на железо с��елали апгрейд для многих пользователей недоступным. Посмотрев на ситуацию, многие решили рискнуть и попробовать Linux — но только чтобы сохранялся привычный интерфейс и оставался нормальный рабочий стол, иначе работа на новой платформе превратится в тяжкий эксперимент.

Читать далее

Как мы продавали компьютеры в 90-х. Часть #01

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

Ранее выкладывал главы о том, как мы программировали в 90-х:
Как мы программировали в 80-е или Путь в тысячу ли начинается с первого шага программы.
Как мы программировали в 90-е. Часть #01
Как мы программировали в 90-е. Часть #02
Как мы программировали в 90-е. Часть #03

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

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

Читать далее

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

Туториал по Wireshark для начинающих

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

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

Wireshark прост в использовании и является отличным вариантом для новичков, но при этом достаточно мощный для профессионалов, которым нужны детализированные данные о сетевом трафике.

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

Читать далее

Делаем presence для Sprut.hub по данным из Mikrotik

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

Когда на работе занимаешься сетями, а по выходным строишь умный дом, в голову приходят самые разные идеи, сочетающие работу и хобби. Порой не самые очевидные, но помогающие в быту. Например, что будет, если скрестить mikrotik и sprut.hub?

Узнать, что приходит в голову сетевику

Слово живое и точка

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

Для начала давайте представим вашу обыкновенную утреннюю рутину. Вы просыпаетесь и сразу (или чуть позже) открываете новостной ТГ-канал или, не дай бог, газету, и погружаетесь в произошедшие за последний день события.

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

Присмотритесь: что на самом деле происходит? Обычные пиксели, квадратики света разной интенсивности и содержания оттенков красного, сложились в причудливый узор, ваш мозг придал этому узору смысл и кортизол с дофамином начали влиять на ваше поведение. Мириады цепочек биохимических реакций изменили вашу личность (чуть чуть, но всё же) навсегда.

Мемы, рекламные джинглы, удачные заголовки новостей - поселяются в вашей памяти. Мем позволит развеселить коллег на кофе-брейке, джингл вы будете насвистывать по дороге на работу, а особо пугающий заголовок фоном оставит неприятное послевкусие на весь день - "Как страшно жить..."

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

Читать далее

PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут

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

Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.

Читать далее

Обзор книги «Ошибаться – это норм!», Эми Эдмондсон

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

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

Что ж, попробуем в этом разобраться.

Меня зовут Костя Дубровин. Я веду канал про книги.

Разобраться

Очередной CrackMe или Как я мучался с Ghidra. Мануал для новичков

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

Думаю, новички в реверс-инжиниринге всегда хотели бы разбираться во всем? Но язык профессионалов не всегда понятен? Что-ж, я попробую помочь вам в этом нелегком деле!

Начать погружение

Создание приложения на React Native: часть первая

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

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

Приступим
1