Pull to refresh
-4
@e-zigread⁠-⁠only

User

1
Subscribers
Send message

Моя идеальная структура заметок уснула. Теперь за порядок отвечает LLM

Reading time10 min
Reach and readers10K

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

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

Самое обидное, что я понимал: дело не в моей исключительной лени. Так происходит у большинства. Более того, многие вообще не начинают вести базу знаний, потому что заранее боятся этого хаоса. «У меня будет свалка из трёхсот файлов, зачем начинать». И из этой личной боли выросла идея плагина.

Читать далее

Как растить мышцы двумя тренировками в неделю? Подход для людей с полной занятостью и готовый план на 2 дня

Reading time9 min
Reach and readers376K

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

Только вот некоторые культурные и даже профессиональные мифы повышают порог вхождения в тренажерный зал. Взращивают ментальный барьер, к которому нужно морально готовиться, настраиваться и из-за этого постоянно откладывать начало тренировок. Один из таких барьеров — время. Многие думают, что тренировки обязательно должны быть продолжительными, чтобы быть эффективными. Второй барьер — утомление. Не редко можно услышать что-то из разряда “не устал = не потренировался”, “не болит = не растет”.

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

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

Читать далее

Промпт — это творчество? Нет, это 10 блоков в жёстком порядке

Level of difficultyEasy
Reading time14 min
Reach and readers18K

Все знают, как писать промпты правильно: роль, критерии готовности, защита от выдумок, разметка под конкретную модель. Проблема в другом - выписывать все эти пунктыруками для каждого нового промпта утомительно. Да ещё и думать надо :) Поэтому я собрал скилл, который делает рутину за меня: описываешь задачу своими словами, получаешь полноценный промпт под Claude, GPT, Gemini или DeepSeek. Под катом - как он устроен: десять обязательных блоков, Python-проверяльщик, протокол разнообразия из свежей научной работы. Скилл открытый, ссылка внутри.

Читать далее

Худший язык программирования всех времён /s

Level of difficultyEasy
Reading time28 min
Reach and readers46K

Есть на ютубе видео на пятьдесят минут с хвостиком, с гордым названием «худший язык программирования всех времён». Не удивлюсь, если вы подумаете, что оно про C++. Оно действительно про плюсы и я его смотрел где-то с полгода назад, ну как смотрел... пробежался на x2 с перемотками, мало ли что обиженный джун там наговорил, но добрый @alyokhinопять про него напомнил, и теперь я его посмотрел полностью. И знаете что самое неприятное? Если убрать интонацию обиженного джуна и оставить только аргументы, то процентов семьдесят там будет правды. Не «спорно», не «зависит от контекста», а буквально правда, которую любой разработчик, проведший с языком пару лет, подтвердит вам не задумываясь.

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

Жанр «почему C++ ужасен» на Хабре выжжен дотла и про Init-зоопарк, перегруженный static, vector названный неправильно, std::move который не move, супер медленный regex, медленный unordered_map вы всё читали раз по двадцать. Сам по себе список этих болей давно не новость, от себя добавлю, что все жалобы и примеры ниже - это следствия одного решения, и я к нему приду. Или открывайте спойлеры, там скрыта история, почему каждая часть языка получалась так, как получалась.

С++ is the best ever programming language

Как двое договариваются о секрете, крича на всю площадь: алгоритм Диффи-Хеллмана без формул

Level of difficultyEasy
Reading time7 min
Reach and readers25K

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

Звучит как безнадежная задача. Все, что Алиса крикнет Коле, услышит и Ева. Любая информация, которая дойдет до Коли, дойдет и до нее. Кажется, что общий секрет в таких условиях невозможен в принципе.

А теперь плохая новость для нашей интуиции: именно это сейчас происходит на вашем устройстве.

Читать далее

C++101

Reading time179 min
Reach and readers36K

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

Большинство этих примеров родилось в эпоху до C++11, когда у языка ещё не было ни умных указателей в стандарте, ни move-семантики, ни constexpr, ни концептов, и приходилось руками собирать из шаблонов и перегрузок некоторые конструкции, которые в более поздних стандартах язык даёт почти бесплатно. Многие идиомы, примеры и идеи стоит читать в двух смыслах сразу, как исторический артефакт, объясняющий «почему старый код выглядит вот так», и как живой приём, который всё ещё применяется в движках и играх.

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

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

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

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

Читать далее

П維чему нейро考ети дел思ют так

Level of difficultyEasy
Reading time8 min
Reach and readers94K

Если вы хоть раз тестировали локальную модель (да и нелокальную тоже) и замечали, как она посреди нормального текста вдруг выдает иероглиф, то заголовок статьи вам не покажется странным. И к концу будет ясно, что именно происходит когда ИИ-шка вам подсовывает иероглифы.

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

Читать далее

Что aбсолютно каждый разработчик должен знать о лицензиях и Copyright

Level of difficultyMedium
Reading time10 min
Reach and readers8.6K

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

В Axelix мы в последнее время начали получать contribution-ы извне. И как по приватным обсуждениям, так и по GitHub я могу сделать вывод, что у очень многих людей есть довольно серьёзное непонимание того, что означает та или иная лицензия, что вообще такое “Open Source” и даже что такое Copyright.

Мне кажется, что я пару вещей в этой теме немного понимаю, и я чувствую некоторую ответственность этим знанием поделиться. Поэтому я решил написать небольшую статью, которая объясняет базовые концепции в Software, начиная с Copyright и Licensing.

Позже я, возможно, ещё напишу про CLA, Open Core и про то, как AI Agents и AI в целом вписываются в эту картину. Так что, если вам интересно, дайте знать :)

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

Давайте я попробую объяснить, как вообще вся юридическая часть вокруг софта устроена, шаг за шагом.

Читать далее

Актуальный гайд на Cursor в 2026 году

Level of difficultyEasy
Reading time11 min
Reach and readers25K

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

К 2026-му году Cursor стал полноценной средой для кодинга без…. кодинга. Вместо этого вы оперируете ИИ-агентами и отдаете им приказы. Ручное программирование с каждым годом становится ближе к статусу «истории». Cursor является лучшим ПО для работы с агентами и вайбкодинга.

В этом гайде мы без воды рассмотрим такие аспекты программы как: интерфейс, работа с контекстом, режимы агента, модели, правила проекта, MCP, skills, hooks и др.

Актуально на лето 2026 года. На момент написания самая свежая версия — Cursor 3.6.

Поехали.

Читать далее

Экономный ИИ. 12 способов снизить расходы (токенов/на токены)

Level of difficultyEasy
Reading time10 min
Reach and readers12K

Наверное, всем уже очевидно, что ИИ крайне полезен, мир поменялся, нас всех заменят роботы и вообще ИИ уже нас во всём превзошёл.

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

Соответственно, как мы платим за интернет и за свет - регулярный платёж за ИИ — то, что нам светит в будущем, а большинству уже сейчас. На текущий момент времени расход токенов - пожалуй, самое главное что-тормозит повсеместное внедрение ИИ. Полностью без оплаты конечно не обойтись (нуу почти), но существенно сократить её точно можно. Далее все методы, которые я испробовал и использую за 3 года работы. По убыванию - от самых жестких и очевидных, до самых хитрых и "технологичных".

Читать далее

10 настроек Claude Code для разработчика-архитектора

Level of difficultyMedium
Reading time9 min
Reach and readers13K

За 6 месяцев ежедневной работы с Claude Code я выработал 10 конфигов. Без них теряю по 10-15 часов в месяц на исправление того, что агент сделал не так. С ними ощутимо меньше. Это не туториал «что такое Claude Code». Это конфиги для тех, кто уже работает с инструментом и хочет выжать из него больше. Готовые конфиги в конце каждого раздела, копируйте сразу.

Читать далее

Агент читает 20 файлов ради одной функции. Лечим это графом кода: CodeGraph vs Graphify и другие невиданные твари

Level of difficultyHard
Reading time10 min
Reach and readers18K

Мне регулярно пишут: «У тебя Max-подписка, токенов вагон — зачем городить индексацию кода? Дай агенту grep и не выпендривайся». Полгода назад я бы согласился. Сейчас — нет. Когда агент ищет «где тут авторизация», он спавнит эксплорацию, грепает по ключевым словам и читает 15-20 файлов целиком, чтобы догадаться о связях. Это сотни тысяч токенов, куча tool calls и регулярные промахи. Граф кода схлопывает этот веер чтений в один точный запрос к индексу. Я сейчас гоняю CodeGraph (лёгкий локальный индекс символов для агента), а Graphify (граф знаний всего проекта — код плюс документы, PDF и медиа) только собираюсь попробовать. Это два разных инструмента под разные боли, и их постоянно путают. В статье: чем они отличаются архитектурно, почему модель хранения индекса — следствие этой архитектуры (и как держать индекс при работе с разных машин и командой), их бенчмарки с честной пометкой «не мои цифры», кому что брать — плюс карта соседних инструментов: Gortex, CodeGraphContext, Sourcegraph MCP и Cognee.

Читать далее

Моя подборка полезных статей на habr про агентную разработку

Level of difficultyEasy
Reading time5 min
Reach and readers12K

В какой-то момент я стал для себя и своих коллег собирать статьи на habr про агентную разработку, которые с моей точки зрения были бы нам полезны. С 27.04.2026 начал это делать каждый день: просматривать все статьи в хабах ИИ, Java, Python, аналитики и тестировании. Решил сделать статью с этой подборкой, может кому будет интересно. В этой подборке только дата статьи, название и ссылка. Понял, что нужно хотя бы комментарий писать, почему я ее сохранил. Для новых статей исправлюсь. Буду благодарен, если в комментариях напишите ссылку и на другие статьи про агентную разработку, которые считаете полезными.

Читать далее

Почему хороший сотрудник вдруг становится неудобным. Спойлер — дело не в нём

Level of difficultyEasy
Reading time5 min
Reach and readers44K

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

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

Читать далее

Хром и скорость

Level of difficultyMedium
Reading time17 min
Reach and readers13K

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

Читать далее

Linux: Права доступа

Level of difficultyMedium
Reading time12 min
Reach and readers15K

Продолжаем серию рубрики Linux. В прошлой серии разобрали пользователей и группы – UID, GID, /etc/passwd. Теперь разберём что ядро делает с этими числами когда процесс пытается открыть файл или войти в директорию. Про права доступа легко выучить команды – chmod 755, chown user file – но не понимать что происходит под капотом. Тогда начинаются странные ситуации: «я же владелец, почему Permission denied?». Цель этой статьи – кратко но в достаточной форме рассказать про права доступа.

Вся статья построена на практике: каждый раздел можно пройти руками. Для большинства примеров достаточно обычного пользователя, для части нужен sudo. Где нужен – отмечено явно. Серия в основном под Ubuntu/Debian.

В конце статьи будет бонус который даст вам возможность изучить права доступа в Linux ещё доступнее и возможно проще.

Обновление статьи: 2026-05-14

Читать

Создаем I2C Master Controller на Verilog. Тестируем ядро

Level of difficultyMedium
Reading time23 min
Reach and readers13K

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

Всем заинтересованным - добро пожаловать под кат! 🙂

Читать далее

Простой поиск имен в С++

Level of difficultyHard
Reading time11 min
Reach and readers13K

Это продолжение темы начатой в статье Важны ли компилятору имена, и продолженной в Ночью все кошки серы, а using'и одинаковы, и далее в Компиляторы тоже путаются в именах. Если не читали, то лучше будет пробежаться по диагонали. Теперь вот мы подобрались к такой интересной теме, как квалифицированный и неквалифицированный поиск.

Что такое простой поиск(неквалифицированный) имени n в области S? Это механизм компилятора, который находит все объявления n, находящиеся непосредственно в этой области. Просто? С виду да, но даже этот простой механизм часто работает не так, как ожидает разработчик.

Например, у нас есть пространство имён N и локальная переменная N. Они могут сосуществовать вместе? Могут, потому что находятся в разных областях видимости. А пространство имён и глобальная переменная с тем же именем могут? Как же мы докатились до жизни такой, давайте разбираться.

Вот такой простой с++

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

Level of difficultyMedium
Reading time40 min
Reach and readers15K

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

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

Читать далее

Как я перестал терять скилы в Claude Code и превратил ~/.claude в Git-репозиторий

Reading time6 min
Reach and readers13K

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

Я решил считать ~/.claude/ обычным кодом и хранить его в Git.

Так появился claude-config-template — репозиторий, из которого ~/.claude/ собирается через симлинки. В нём лежат скилы, агенты, команды, хуки и MCP-конфигурации.

Это даёт:
- переносимую конфигурацию между машинами
- единый источник правды для всех агентов
- версионирование и откат через Git

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

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity