Обновить

Разработка

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

Почему Windows XP из 2001 года работает быстрее, чем Windows 11, на одинаковом железе

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

Как думаете, что будет, если взять шесть одинаковых ноутбуков и поставить на них все версии Windows, которые выходили за последние 25 лет? Какая окажется быстрее? Логика подсказывает, что новая должна обойти старую. Все-таки тут и оптимизация лучше, и код новее, и алгоритмы эффективнее. Но реальность оказалась куда более прозаичной: двадцатипятилетняя XP, которая сегодня работает в основном на банкоматах, обошла Windows 11 по большинству показателей. Звучит как какой-то абсурд, но факты — штука упрямая.

Читать далее

Какие новые HTML и CSS фичи полностью поддерживаются браузерами в 2026 году

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

Привет, Хабр.

Каждый год я смотрю, какие новые фишки в HTML и CSS стали поддерживаться современными браузерами. Таким образом понимаю, что уже можно использовать. Так как я люблю делиться всем с вами, то я подумал: «А почему бы не рассказать о новинках на Хабре?». Вот я и пришёл.

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

Моё главное правило для отбора фич заключается в том, чтобы она стала «зелёной» в 2025 году на сайте «Can I Use». Смотрю последние версии браузеров Chrome, FireFox, Opera, Edge, Safari, iOS Safari, Samsung Internet и Android Chrome.

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

Читать далее

Хватит использовать JavaScript для решения задач CSS

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

Недостаток знаний часто подталкивает людей к чрезмерно сложным решениям, и рано или поздно это отражается на производительности.

Возьмем content-visibility: auto. Он дает тот же эффект, что и React-Window, но без единой строчки JS и без увеличения размера сборки. Аналогичная ситуация с современными единицами высоты окна (dvh, svh, lvh): наконец-то приведена в порядок "мобильная" высота, которую годами пытались компенсировать через window.innerHeight.

Обе технологии в 2024 году получили более 90% поддержки современных браузеров и полностью готовы для продакшна. Однако мы по привычке продолжаем решать такие задачи с помощью JS, просто потому, что CSS незаметно ушел вперед, пока мы спорили о React Server Components.

Читать далее

Навыки, которые вы теряете, пока ИИ берет на себя рутинные задачи

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

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

Появляется ошибка — ничего катастрофического, но странная. Периодическая. Такая, которая не сразу проявляется в логах. Начинаешь отладку, и где-то через два часа понимаешь: раньше на это уходило двадцать минут.

Музыканты называют это «отпускными руками» (руки, отдыхающие от работы). Две недели без фортепиано, и Шопен звучит иначе. Не совсем неиграбельно — просто медленнее.

Авиационные исследователи изучают это явление десятилетиями. Анализ FAA 2011 года показал, что 60% аварий были связаны с недостаточной квалификацией пилотов в ручном пилотировании (навыки, которые атрофировались из-за зависимости от автопилота). Они дали этому клиническое название: деградация навыков, вызванная автоматизацией.

В разработке программного обеспечения пока нет названия для этого явления. Но закономерность знакома.

Читать далее

Переход с UUID v1 на v7 сократил IO-нагрузку в 2 раза

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

В системах, где генерируются миллионы событий в день (например логи), первичные ключи часто строятся на основе UUID. Это логично: они глобально уникальны, не требуют централизованного генератора и хорошо масштабируются.

Но не все UUID одинаково полезны. Особенно когда речь заходит о производительности БД.

В нашем сервисе мониторинга и анализа PostgreSQL мы использовали UUID v1 - и столкнулись с ростом дисковой нагрузки на PostgreSQL. После перехода на UUID v7 удалось добиться сокращения числа операций с диском в 2 раза, на четверть снизить размеры индексов и полностью устранить их фрагментацию.

Читать далее

Как в одиночку сделать легендарную игру — история Эрика Барони, создавшего фермерский симулятор Stardew Valley

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

Эрику Барони было 25 лет, когда он начал писать код. Юноша уже год как окончил университет, но степень по информатике никак не помогала ему найти работу — компании не бывают заинтересованы в кандидатах без опыта. Тогда Эрик решил попрактиковаться в программировании на C# и разработать проект для своего портфолио.
 
Оставалось понять, за что бы взяться? А с детства Барони был фанатом игр Harvest Moon (теперь называется Story of Seasons), которые можно описать как «RPG о сельской жизни». У него появилась идея создать свою альтернативу любимой игре, дополнив и улучшив её так, как ему всегда хотелось. Работа над Stardew Valley заняла четыре года (и почти всё это время будущего гения содержала его девушка, которая работала на двух работах, вот так она в него верила!).  

Симулятор жизни на ферме Stardew Valley разошёлся тиражом в миллион копий всего за два месяца после выхода и был номинирован на премию The Game Awards 2016 в категории «Лучшая независимая игра». Игроки полюбили его за особую атмосферу и разнообразие геймплея. Давайте посмотрим, как Барони удалось сделать такой проект в одиночку.

 

Читать далее

Снимаем защиту от модификации прошивки рабочей станции HP Z440/Z640/Z840

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

Здравствуй, читатель. За время моего почти десятилетнего отсутствия в мире x86 и UEFI довольно много воды утекло, и то, что раньше считалось интересными, но мало кому нужными настройками прошивки (к примеру, Above 4G Decoding и Resizable BAR) теперь считается фичами первой необходимости (без которых современные видеокарты Nvidia и AMD теряют в производительности, а карты Intel могут и вовсе не работать). При этом прогресс не превратил мощные старые системы в совсем уж полный хлам, и потому есть смысл научить этих старых псов новым трюкам, если это возможно.

Читать далее

Clawdbot [Moltbot/OpenClaw], или почему нужно срочно дать языковой модели контроль над вашим Mac mini

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

В какой-то момент лента микроблогов превратилась в витрину Mac mini: люди постят открытые коробки, обсуждают автоматизацию и делятся какими-то скилами. Поводом стал Clawdbot — забавный проект open source с эмодзи лобстера, который обещает воплотить научную фантастику в жизнь. Обещается, что дома у пользователя поселится не просто чат с большой языковой моделью, а личный агент, умеющий действовать — писать в мессенджеры, трогать файлы, запускать команды, ставить софт, разруливать быт.

В реальности всё не так гладко, пусть и общаться с чат-ботом очень интересно. Но обо всём по порядку.

Читать далее

Тихая смерть robots.txt

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

Десятки лет robots.txt управлял поведением веб-краулеров. Но сегодня, когда беспринципные ИИ-компании стремятся к получению всё больших объёмов данных, базовый общественный договор веба начинает разваливаться на части.

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

Файл называется robots.txt; обычно он находится по адресу вашвебсайт.com/robots.txt. Этот файл позволяет любому, кто владеет сайтом, будь то мелкий кулинарный блог или многонациональная корпорация, сообщить вебу, что на нём разрешено, а что нет. Какие поисковые движки могут индексировать ваш сайт? Какие архивные проекты могут скачивать и сохранять версии страницы? Могут ли конкуренты отслеживать ваши страницы? Вы сами решаете и объявляете об этом вебу.

Эта система неидеальна, но она работает. Ну, или, по крайней мере, работала. Десятки лет основной целью robots.txt были поисковые движки; владелец позволял выполнять скрейпинг, а в ответ они обещали привести на сайт пользователей. Сегодня это уравнение изменилось из-за ИИ: компании всего мира используют сайты и их данные для коллекционирования огромных датасетов обучающих данных, чтобы создавать модели и продукты, которые могут вообще не признавать существование первоисточников.

Файл robots.txt работает по принципу «ты — мне, я — тебе», но у очень многих людей сложилось впечатление, что ИИ-компании любят только брать. Cегодня в ИИ вбухано так много денег, а технологический прогресс идёт вперёд так быстро, что многие владельцы сайтов за ним не поспевают. И фундаментальный договор, лежащий в основе robots.txt и веба в целом, возможно, тоже утрачивает свою силу.

Читать далее

Идеальный старт для новичков в цифровую и нецифровую электронику

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

Часто успех первой книги создает не просто аудиторию, а сообщество, которое ждет продолжения. Именно это случилось с книгой Павла Кириченко «Цифровая электроника для начинающих», выдержавшей два издания и собравшей сотни положительных отзывов: «Отличная книга для начинающего», «Очень доходчиво, понятно», «Есть подробные описания сборки схем на макетной плате», «Рекомендую всем, кто начинает знакомство с увлекательным миром цифровой электроники, жду от автора еще таких же интересных книг».

Автор услышал!

Операционные усилители с однополярным и двуполярным питанием: в чем разница и как так получилось

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

Мы привыкли, что цифровые схемы обычно работают с однополярным питанием, а логические сигналы имеют всего два уровня, и в основном даже не задумываемся о фактических значениях этих напряжений. Исторически выработалось несколько стандартов питания цифровых микросхем: самыми распространенными стали TTL и CMOS с напряжением питания 5 В и их низковольтные версии LV с напряжением 3,3 В. Благодаря этому очень просто обеспечить электрическую совместимость и можно полностью сосредоточиться на логике.

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

В этой статье предлагаю вместе разобрать:

•   существует общий универсальный стандарт питания для ОУ;

•   откуда в аналоговых схемах взялось двуполярное питание и чем оно отличается от однополярного;

•   почему у двуполярного ОУ выводов питания всего два без отдельного GND;

•   почему классические ОУ плохо работают от одной шины питания;

•   чем на самом деле различаются однополярные и двуполярные ОУ, можно ли одним заменить другой.

Погрузиться в мир аналоговой схемотехники

Структуры данных на практике. Глава 2: Иерархия памяти

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

«Память — это современный диск, диск — это современная лента», — Джим Грей

Проблема ста тактов

В Главе 1 мы говорили о том, что промахи кэша стоят 100-200 тактов, а попадания в кэш — всего 1-4 такта. И это не какая-то мелкая деталь, а самый важный фактор современной производительности.

Ниже я расскажу, почему это так.

Однажды я оптимизировал драйвер устройства для встраиваемой системы на RISC-V. Драйвер должен был обрабатывать пакеты от сетевого интерфейса, но при большой нагрузке мы теряли пакеты. CPU работал с частотой 1 ГГц, а для обработки каждого пакета требовалось около 500 команд. Простая математика:

500 команд ÷ 1 ГГц = 500 наносекунд на пакет

При скорости 500 нс на пакет мы могли бы обрабатывать 2 миллиона пакетов в секунду. Однако мы справлялись всего с 200 тысячами пакетов в секунду, то есть в десять раз меньше, чем ожидалось.

Профилировщик показан следующее:

$ perf stat -e cycles,instructions,cache-misses ./driver_test Performance counter stats:

5,000,000 cycles

500,000 instructions

45,000 cache-misses

Постойте-ка: 500000 команд должны занимать 500000 тактов (при 1 IPC). Но мы видим 5 миллионов тактов. Куда подевались лишние 4,5 миллиона тактов?

Читать далее

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

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

Привет, Хабр!

Недавно случайно в мои руки попали два дешевых IoT-модуля от одного китайского производителя, которые были куплены в сети DNS. Раз попали в руки, нужно их использовать. Вот только есть одна проблема: все подобные устройства работают через облачные сервисы. В своей домашней автоматизации я придерживаюсь жёсткого правила — никаких облачных сервисов в моём умном доме! Поэтому достаём из ящика программатор с паяльником и за дело! А что из этого вышло, читайте далее.

Читать далее

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

«Мы убираем только критические ошибки», или как разработчики игр высмеивают собственные баги

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

Привет, Хабр! На связи Владимир Туров, разработчик в Selectel. Ошибки — неизбежная часть сложных процессов, особенно когда речь идет о таких многослойных проектах, как компьютерные игры. Даже самые опытные команды не застрахованы от технических сбоев, связанных с работой игровых движков. Воспроизведение законов физики, загрузка данных, одновременное взаимодействие множества подсистем — нетривиальная задача даже для признанных мастеров индустрии.

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

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

Читать далее →

Ого! 7 сантиметров! Ну так и быть, снимем с вас блокировку счетов по 115-ФЗ

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

Сейчас уже никого не удивить блокировками карт/счетов по подозрению в «мошенничестве» или «отмывании денежных средств». Особенно, после 01.01.2026.

Но летом, прошлого года, блокировки за «отмывание» были еще в диковинку и моя статья
«Если вам звонят из службы безопасности банка — будьте осторожны. Это может быть служба безопасности банка» — вызвала бурное обсуждение.

Я обещал, что расскажу чем все закончилось и дам несколько советов тем, кто попал в эту ситуацию (на примере собственного опыта). Мне таки удалось снять с себя подозрение в «отмывании».

Думаете это было легко?

А вот и нет

Почему легендарные телефоны Siemens были такими ненадежными? [Длиннопост про железо]

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

Некоторое время назад ко мне в руки попал легендарный телефон Siemens C65 в очень прискорбном состоянии. Гаджет буквально всем своим видом говорил, что он устал: корпус был разбит в хлам, задняя крышка с аккумулятором отсутствовали, однако на всеобщее удивление дисплей был цел. Вся эта ситуация вдохновила меня написать небольшую историю того, почему Siemens'ы после 55'ой серии были такими ненадежными...

Читать далее

Второй отец MP3

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

Работая в Bell Labs, Джеймс Д. Джонстон 26 лет посвятил созданию технологии, которую мы сегодня знаем как MP3. Затем его имя растворилось в истории...

Вступление от «Rogues’ Gallery»

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

И наше шоу (имеется в виду подкаст «The Rogues’ Gallery», — прим. пер.), как и многие другие, существует, благодаря той самой технологии. Ничто из этого не оказалось бы возможным, если бы не инженеры, которые научились втискивать час музыки в файл, достаточно небольшой для скачивания через коммутируемое соединение.

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

Одним из таких людей является Джеймс Д. Джонстон. В IEEE его зовут «отцом перцептуального аудиокодирования». Этот человек зарегистрировал более, чем 100 патентов. Кен Томпсон, который разработал Unix, лично переписывал код для созданного им кодека, сказав, что тот значительно превосходит MP3. Федеральный апелляционный суд США подтвердил, что он изобрёл формат MP3 параллельно с Карлхайнцем Бранденбургом. Но всё же в рассказах об истории развития цифрового аудио его имя всплывает крайне редко.

Джеймс является такой же рок-звездой, каких мы приглашаем на наше шоу. Просто он играет на другом инструменте.

И это история о нём.

Читать далее

Скрипты и алиасы для вашего линукса

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

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

Простейший алиас в .bashrc или .zshrc кажется небольшим открытием. Первый рабочий скрипт, сохранённый в ~/.local/bin, ощущается как прорыв. Это не просто про лень — это про эффективность, про оптимизацию работы.

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

Читать далее

Клонирование голоса по 3-секундному образцу локально: обзор Qwen3-TTS, примеры на русском и портативная версия

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

Всем привет! Команда Qwen от Alibaba выложила в открытый доступ Qwen3-TTS — нейросетевую модель для синтеза речи с клонированием голоса. Сегодня хочу рассказать об этой технологии подробнее и поделиться портативной версией.

Читать далее

Как я на КПК оперативную память увеличивал [Длиннопост про железо]

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

Мои постоянные читатели наверняка знают мою особую любовь к устройствам на Windows CE и Windows Mobile. Я коллекционирую, восстанавливаю, модифицирую и стараюсь дать новую жизнь этим прекрасным гаджетам, о чём частенько пишу отдельные статьи. Одним из примеров такого моддинга был апгрейд оперативной памяти - операция, которая была очень популярна в нулевых годах!

Читать далее