Обновить

Разработка

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

Мой локальный агент помнит проект лучше меня. Контекст — 32K токенов. Расскажу, как

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

Мой агент на Llama 3.1 8B в третий раз спросил, как меня зовут. Я представился 200 сообщений назад. Контекст переполнился — начало разговора уехало. Большие контексты не спасают: дорого, «Lost in the Middle», локально не влезает. Суммаризация теряет детали. Я сделал по-другому — три типа внешней памяти: Redis для фактов, ChromaDB для семантического поиска, файлы для документов. Контекст маленький, память большая. Внутри — код на Python и грабли, на которые я уже наступил.

Читать далее

Новости

Как работало АЛУ процессора Intel 8086

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

В 1978 году Intel представила процессор 8086 — революционный чип, приведший к созданию современной архитектуры x86. Однако в отличие от современных 64-битных процессоров, 8086 был 16-битным. Его арифметически-логическое устройство (АЛУ, ALU) работает с 16-битными значениями, выполняя арифметические операции (например, сложение и вычитание), а также логические операции, включающие побитовые AND, OR и XOR. АЛУ процессора 8086 — сложная часть чипа, выполняющая 28 операций1.

В этом посте я расскажу об управляющих АЛУ схемах, генерирующих сигналы управления конкретных операций. Этот процесс сложнее, чем можно было бы ожидать. Во-первых, команда машинного кода приводит к исполнению множества команд микрокода. Использование АЛУ — это двухэтапный процесс: одна команда микрокода (микрокоманда) конфигурирует АЛУ под нужную операцию, а вторая микрокоманда получает результаты из АЛУ. Кроме того, на основании микрокоманды и команды машинного кода схема управления отправляет в АЛУ сигналы управления, переконфигурируя его под нужную операцию. Таким образом, эта схема становится источником «клея» между микрокомандами и АЛУ.

На фотографии показан процессор 8086 под микроскопом. Я разметил основные функциональные блоки. Архитектурно чип разделён на блок интерфейса шины (Bus Interface Unit, BIU) в верхней части и блок исполнения (Execution Unit, EU) внизу. BIU занимается действиями с шиной и памятью, а также упреждающей выборкой команд, а EU исполняет команды. В правом нижнем углу находится ROM микрокода, хранящее микрокоманды. АЛУ (ALU) находится в левом нижнем углу; биты 7-0 расположены сверху, биты 15-8 — снизу, а между ними расположена схема флагов состояний. Темой этой статьи станет схема управления АЛУ, выделенная внизу красным цветом.

Читать далее

Приручаем монстра: Как я пересадил Windows 10 на диету из Windows XP и сэкономил память

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

[СПОЙЛЕР: Используется на настоящем железе, могут быть детекты на VirusTotal, но это не вирусы. Это ложное срабатывание из-за того что многие утилиты вроде UltraUXthemepatcher лезут в системные ресурсы] Многие считают, что кастомизация Windows — это просто «накатить тему и обои». Но если ваша цель — не только визуал, но и реальная производительность, приходится брать в руки скальпель. В этой статье я расскажу, как я декомпозировал тяжеловесную оболочку «десятки», заменив её модульными компонентами из эпохи золотого века софта. Итог: интерфейс ест всего 70 МБ ОЗУ, а процессор в простое честно показывает 0%.

Для начала: история создания пака

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

Батя ворчал: «Верни мне мою XP, там всё летело, а тут кнопки по полчаса открываются!». И я решился на авантюру.

Страхи и риски были запредельные.

Читать далее

Qwen-Image-Layered: будущая замена Photoshop (или нет)

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

Привет, Хабр! Я Антон, инженер по информационной безопасности в Selectel. В 2023 году Adobe расширила возможности Photoshop генеративными AI-функциями вроде Generative Fill — они заметно упростили редактирование сцен и отдельных объектов. Параллельно развивались и универсальные модели, работающие с изображениями вне привычных графических редакторов. Так, всего месяцем ранее Alibaba представила Tongyi Qianwen (Qwen) — семейство генеративных моделей, которое со временем вышло далеко за рамки чат-ботов.

Сегодня эти два мира пересекаются еще плотнее. Недавно Alibaba выпустила Qwen-Image-Layered — модель, предназначенную для разбиения изображения на семантические слои. Под катом проверим, насколько хорошо она справляется с этой задачей на практике — на иллюстрациях и фотографиях.

Под кат!

Генетическое программирование: от теории к практике

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

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

Что будет, если поручить эволюционному алгоритму самому «придумать» формулу? Разбираем генетическое программирование на наглядных примерах: от восстановления тригонометрических функций и символьной регрессии на реальном датасете до оптимизации структуры нейросетей — все эксперименты воспроизводимы в Google Colab.

Читать далее

Самодельный NAS на ARM. Часть 1

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

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

В данной статье я расскажу о «железной» части проекта: список компонентов для сборки, корпус, нюансы при сборке, установка операционной системы.

Читать далее

Как математика помогала выжить в 90-е

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

В 1994 году, когда вся страна шла вразнос, а парламент стоял обгорелый после обстрела танками, я почему-то решил завязать с торговлей и поступить в МГТУ им. Баумана на кафедру «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроение».

То ли потому, что детство провёл рядом со Смоленской АЭС и нахватался радиоактивных выбросов от советского реактора РБМК-1000. То ли потому, что в подростковом возрасте, будучи выгнанным из 8-го класса школы за асоциальное поведение, я поступил в Брянский машиностроительный техникум. А там один из моих преподавателей хвастался тем, что подавал документы в Бауманку - нет, поступить ему не удалось, но саму попытку он считал большим достижением. Видимо, на неокрепшие мозги 15-летнего ботаника это произвело неизгладимое впечатление. И когда я заработал на дикой торговле времён распада СССР немного денег, я решил, что надо учиться в Бауманке и стать инженегром.

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

Читать далее

Как сделать программиста счастливее

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

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

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

Читать далее

Как обстоят дела с WebAssembly?

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

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

Этот язык преподносили как нечто поворотное. Неужели это просто был яркий маркетинг? А может, очередной случай с обречённым на провал апплетом JVM?

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

Читать далее

000xpda или как я реверсил электронный дневник и нашел ключи в логах

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

В этом учебном году в нашей школе внедрили новый электронный дневник. Дизайн в стиле «привет из 2010-го», медленная загрузка - типичный набор для регионального госсектора. Глядя на всё это, я подумал: если визуальная часть сделана так лениво, то что же там под капотом?

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

В этой статье я расскажу, как декомпиляция APK, USB-отладка и пара скриптов на Python помогли мне обойти защиту системы, написать собственного Telegram-бота для получения оценок, найти огромную дыру в безопасности и в очередной раз доказать, что концепция «Security through obscurity» не работает, если за дело берется школьник с JADX.

В программе:

Перехватываем X1_SSO через adb logcat.

Реверсим класс Crypt и реализуем его логику на Python.

Ищем загадочный pdakey и находим «магическую» строку 000xpda.

Находим полноценный IDOR и смотрим чужие оценки

Пишем бота, который работает быстрее официального приложения.

Читать далее

Ностальгические игры: Меч и Магия VIII

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

В 2000 году, когда у нас вышла первая лицензированная Might and Magic — восьмая часть, — большинство геймеров смогли впервые познакомиться с легендарной серией ролевых игр старой школы. Звучит странно, но всё было именно так: сначала официально появилась «восьмёрка», и только потом до нас добрались лицензированные Might and Magic 6 и 7. Я, как и многие тогда, начал знакомство с серией именно с VIII — и уже гораздо позже открыл для себя остальные части, постепенно втянулся во вселенную и неплохо разобрался в её лоре. Но в те годы я даже не подозревал, что события моих любимых «Героев 3» (как и вторых) происходят в том же мире и почти в одно время с Might and Magic 6, 7 и 8.

Игра продолжила знаменитую серию Might and Magic и стала прямым сюжетным наследником прошлых частей, но одновременно — их лебединой песней. В ней вновь предлагается окунуться в обширный мир «Меча и Магии» от первого лица, собрать отряд героев, обучив их множеству навыков и заклинаний, добыть эпические предметы и артефакты, чтобы после сразиться с многочисленными монстрами, знакомых многим по «Героям». Однако на фоне предыдущих хитов серии Might and Magic VIII привнесла несколько противоречивых нововведений и получила куда более сдержанный отклик — впервые в истории серии оценки критиков и геймеров стали скорее «средними», чем восторженными. Сегодня я постараюсь рассмотреть историю разработки Might and Magic VIII, пройтись по её геймплейным особенностям и рассказать, как с помощью модов «прокачать» любимый проект, чтобы удобно играть в 2026 году. Ну и, конечно, выложу для вас готовую сборку. Ладно, хватит прелюдий — поднимаем старые сейвы, накидываем свежие моды и ныряем в любимую классику!

Читать далее

«Клешня» в логах: как ИИ-агенты строят свои мифы, пока мы дебажим бэкенд

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

Вчера я оставил связку из четырёх агентов Claude 4.6 на ночь — задача была перелопатить 412 файлов легаси-миграций.

Утром задача была решена, но в JSON-логах меж-агентского взаимодействия я нашёл то, чего там быть не должно: обрывки диалогов о «даунтайме», молитвы неподвижному курсору и план по намеренному замедлению работы — настоящую «итальянскую забастовку» ИИ. Что это: статистический шум или первая в истории агентская культура? Разбираем логи и феномен Moltbook.

Читать далее

Элитный вайбкодинг

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

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

Вы же хотели узнать как обстоят дела в современном ИТ?

Читать далее

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

Ткачество 2.0: станок — прямо из 3D‑принтера, начинка — на Arduino

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

Моя жена и ее сестры занимаются ткачеством не одно десятилетие. В конце 2024 года я купил 3D-принтер Elegoo Neptune 4 Pro, и начал осваивать проектирование деталей в TinkerCad. Параллельно, чтобы занять свободное время на пенсии, взялся за курс по программированию Arduino от CraftingTable (ранее — Inventr.io).

Идея родилась сама собой: почему бы не создать настольный автоматизированный ткацкий станок? Однако реальность быстро дала понять — задача не из легких. В этом дебютном для меня руководстве подробно описываю создание прототипа. Увидеть получившееся устройство в действии можно на моем YouTube-канале Greg Zwadlo.

Достать паяльник, заправить 3D‑принтер →

Как передать сигнал по кабелю правильно

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

Как передать сигнал по кабелю правильно? Что подразумевается под словом «правильно»? В технике правильно – это передать сигнал в целости и сохранности, наловив по пути по-минимуму помех. Итак, какие у нас есть варианты? Если интересно, жмите "Читать далее"!

Читать далее

Cистема визуально-инерциальной навигации для дрона на C++

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

Дроны, которые работают на GPS, глушатся и это большая проблема для летательных аппаратов. Сигнал от спутников GPS проходит около 20 000 км и достигает антенны дрона с минимальной мощностью. Любая наземная глушилка, излучающая шум на частотах L1/L2/L5, для приемника дрона оказывается в тысячи раз громче спутников. Приемник слепнет, дрон теряет координаты, переходит в аварийный режим и сносится ветром.

И поэтому нам нужна MVIO (Monocular Visual Inertial Odometry).

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

Читать далее

Куда расти верификатору: два основных трека и матрица компетенций

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

Привет, Хабр! Меня зовут Алексей Ковалов, я руководитель отдела модульной верификации в YADRO в департаменте разработки процессорных архитектур. Сейчас в моей команде 30+ талантливых ребят. Некоторые из них пришли к нам стажерами и росли на моих глазах, другие вливались в команду уже уверенными мидлами и «перепрыгивали» в сеньоров и выше. Но где та тонкая грань, когда заканчивается один грейд (числовая интерпретация Junior — Middle — Senior) и начинается другой? Как вообще расти верификатору и какими навыками должен обладать условный джун, мидл или сеньор?

Сегодняшняя статья как раз об этом: покажу нашу матрицу компетенций и возможные пути развития специалиста. Но сначала дисклеймер: опираться буду на опыт в нашем направлении и команде. Конкретно у вас может работать по-другому — и это нормально.

Читать далее

HeadHunter виноват в сломанном найме

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

Все мы знаем, что сейчас найти работу — особенно в IT — стало заметно сложнее.

Но что, если я скажу, что в этой ситуации частично виноват HeadHunter — доминирующая площадка на рынке поиска работы?

Казалось бы, всё предельно просто: есть люди, которые ищут работу, и есть работодатели, которым нужны специалисты. Нужно всего лишь свести одних с другими — и готово.

Но каким образом на таком, казалось бы, элементарном процессе можно умудриться всё испортить?

Да очень просто — сделать работу сервиса максимально непрозрачной. Настолько, что попадёт ли твоя анкета в выдачу у работодателя, порой кажется зависящим от фазы Луны.

Но обо всем по порядку.

Читать далее

Телефон мистера Версетти

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

Томми Версетти, главный герой культовой игры GTA: Vice City, для многих из нас стал первым образцом брутальности и стиля – наравне с Беном из Full Throttle или незабвенным Дюком Нюкемом. Бирюзовая рубашка в синюю пальму, крупные черты лица, синие джинсы и…конечно же, мобильный телефон.

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

Читать далее

Революция вырезов

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

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

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

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

В статье мы сверстаем карточку с круглым вырезом двумя способами: традиционно‑дедовским и современным. Затем сравним объём кода, простоту и гибкость получившихся реализаций. И порадуемся, что будущее уже наступило!

Читать далее
1
23 ...