Обновить
315
2
Иван Сорокин @unxed

веб

Отправить сообщение

ИИ в IDE против декларативных патчей ap: почему плагины не всегда могут то, что нам нужно

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров679

Привет, Хабр! Многие из вас, возможно, помнят мои предыдущие посты про формат файлов .ap — попытку создать AI-friendly формат для применения изменений в коде. В комментариях к каждой статье неизбежно возникает один и тот же вопрос: «А зачем всё это, если есть плагины для IDE вроде Copilot Chat?». Вопрос абсолютно справедливый, и сегодня я хочу дать на него развёрнутый, технический ответ. Потому что эти два подхода решают задачи совершенно разного масштаба.

Для начала, кратко напомню, что такое .ap. Это декларативный, человекочитаемый формат патчей, спроектированный специально для генерации нейросетями. Вместо хрупких и сложных для генерации LLM номеров строк, как в diff (модель ведь «мыслит» не строками, а токенами), он использует семантические «якоря» и уникальные фрагменты кода для поиска места изменения. Модель генерирует простой текстовый файл с командами вроде REPLACE или INSERT_AFTER, а специальная утилита-патчер применяет эти изменения к вашим файлам. А теперь — к самому интересному.

Давайте сравним этот подход с тем, как устроены AI-редакторы и плагины к ним.

Читать далее

AP 2.0: Учим ИИ думать, прежде чем патчить

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

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

Не так давно я рассказывал вам о рождении формата .ap (AI-friendly Patch) — моей попытке избавить мир от боли ручного копипаста при работе с AI-ассистентами. Идея была проста: вместо генерации блоков кода, который нужно переносить в исходники руками, ИИ генерирует семантический патч в специальном, удобном именно для ИИ формате, который применяется автоматически. Судя по числу добавлений статьи в закладки, идея многим пришлась по душе!

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

Это не просто косметические правки, а серьезный шаг вперёд, основанный на главном инсайте: лучшие результаты ИИ показывает тогда, когда мы позволяем ему сначала спланировать свои действия на человеческом языке, и только потом — реализовать их в виде кода. Поехали!

Читать далее

.ap: удобный для ИИ формат патчей, который экономит мне часы

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

Привет, Хабр! Возможно, вы знаете меня по дайджестам проекта far2l, но сегодня хочу поделиться кое-чем другим. Это небольшая и очень полезная утилита и формат файлов для неё, которые родились из моей повседневной работы с AI-ассистентами (в том числе в процессе работы над тем же фаром). Штука получилась настолько удобной, что я решил поделиться ей с сообществом. Поехали!

Читать далее

far2l: что нового за 2025й?

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

Привет, друзья! Примерно раз в год я пишу большой пост о развитии проекта far2l — порта Far Manager под Linux, MacOS и BSD. И, должен сказать, 2025-й выдался невероятно продуктивным! Накопилось столько всего вкусного, что пора поделиться с вами очередным выпуском нашего дайджеста. Под катом — обзор двух больших и двух небольших, но очень ценных нововведений, которых мы все очень долго ждали.

Читать далее

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

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

Сегодня я и моя командой заняли первое место на хакатоне гражданских проектов. Сделали бота, ищущего контракты на капремонт по адресу, и выкачивалку-парсилку Госзакупок для него. Можно использовать как референс или брать готовый код в свои проекты, он в Public Domain: https://github.com/unxed/crwatch

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

Читать далее

far2l в Ubuntu 25.04: наконец-то GUI-версия из коробки

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

Исторически первая версия far2l — порта Far Manager на Linux, BSD и Mac, была реализована как графическое приложение. Терминалы той эпохи не умели ни передавать приложению некоторые сочетания клавиш (такие как Control+Enter), ни давать ему возможность взаимодействия с буфером обмена. Кому же нужен Far без этих возможностей? Поэтому пришлось сделать своё собственное консольное окно со своим собственным рендерингом текста — да, усложнение, зато всё сразу заработало «как-в-Винде» (а потом и консольную версию сделали тоже). И сегодня мы празднуем историческое событие: графическая версия, наиболее полная в плане соответствия UX Windows-версии, попала, наконец, в официальные репозитории Ubuntu:

Читать далее

far2l в Ubuntu 24.04 LTS готов для повседневного использования

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

Несколько дней назад вышло обновление, устраняющее последние шероховатости UX, и мы рады представить вам долгожданный полноценно работающий Far Manager в составе LTS-версии Ubuntu 24.04! В этой статье я расскажу, как получить максимум удовольствия от его использования. Поехали!

sudo apt update

sudo apt install far2l

Читать далее

far2l в Ubuntu 23.10

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

Ура! В новой версии Ubuntu, наконец-то, можно установить Far Manager (far2l) самым обычным sudo apt install far2l — прямо из коробки, без всяких ppa и кастомных сборок! Под катом — немного подробностей, а также обычный дайджест новостей проекта за прошедшее время.

Читать далее

Как ChatGPT помогла мне исправить баг в far2l, turbo и wxWidgets

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

Работая над проектом far2l (порта Far Manager) для Linux, я наткнулся на один очень красивый баг, который в итоге удалось починить только с помощью нейросети ChatGPT. Причём баг оказался не столько в самом far2l, сколько в проекте кроссплатформенной UI библиотеки wxWidgets. Бесплатная версия ChatGPT (3.5) с задачей справиться не смогла, а вот платная (4) таки справилась. Сегодня поделюсь с вами рассказом о том, как это было.

Читать далее

Linux-порт Far Manager: новости весны 2023

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров28K

Обычно я пишу статьи об развитии проекта far2l — порта знаменитого Far Manager под Linux, MacOS и BSD (а теперь ещё и Haiku) раз в год. Но иногда случается так, что объем новостей на статью набирается быстрее. Недавно произошло сразу несколько важных событий, поэтому дожидаться конца года не буду, а опубликую самое интересное сразу.

Нас взяли в Debian!

Это, пожалуй, главная новость. К сожалению, в Bookworm мы попасть не успели, так что ждите нас в следующем выпуске, или в Ubuntu 23.10. Да, можно будет делать sudo apt install far2l, без всяких сложностей с ppa или самостоятельной сборкой!

Читать далее

Linux-порт Far Manager: что нового за 2022й?

Время на прочтение5 мин
Количество просмотров20K

Примерно раз в год я пишу длинный статус апдейт по проекту far2l — порту Far Manager под Linux, MacOS и BSD. Пожалуй, накопилось достаточно изменений для очередного выпуска.

Поддержка Unicode: составные символы и символы двойного размера

Оригинальный Far Manager для консоли Windows писался в парадигме «одна экранная ячейка — один символ». И даже когда Far переводили с однобайтных кодировок на Unicode (внутри у современного Far все строки в UTF16, в Linux версии — в UTF32), от этой парадигмы не отходили.

Однако Unicode устроен сложнее. Во-первых, существуют иероглифы, которые в одно знакоместо латинского символа помещаться категорически не желают. Для них придумали концепцию Full-Width знаков, которые в моноширинных шрифтах занимают не одно знакоместо, а два, логически являясь при этом одним символом. Во-вторых, существуют диакритические символы (это могут быть знаки ударения или, например, точки над ё), которые в Unicode кодируются отдельным символом, а отображаются над (или под) предыдущим.

В результате имена файлов, содержащие иероглифы или диакритику (или эмодзи, они тоже двойного размера) приводили к ошибкам рендеринга интерфейса.

Читать далее

Линукс-порт Far Manager: что нового за 2021

Время на прочтение4 мин
Количество просмотров28K

Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.

Буфер обмена в консольной версии

Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).

И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.

Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.

Читать далее

Линукс-порт Far Manager: прогресс за 4 года

Время на прочтение5 мин
Количество просмотров70K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


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

Новости формата WebP

Время на прочтение2 мин
Количество просмотров4.2K
Можно смело утверждать, что этой осенью формат WebP переживает второе рождение. Сообщения о новых возможностях следуют буквально одно за другим. Здесь я приведу перевод самых интересных новостей, касающихся формата WebP и перспектив его развития и поддержки. Топик сознательно не оформляется как перевод, так как данные приведены сразу из нескольких источников. Итак, полупрозрачность, сжатие без потерь, поддержка IE6+ и так далее!
Читать дальше →

Представляем Chrome Frame, не требующий прав администратора

Время на прочтение4 мин
Количество просмотров10K
Мы выпустили первую версию Chrome Frame в сентябре 2009 года. Нашей целью было расширить область применения современных веб-технологий, а также помочь веб-разработчикам использовать все возможности HTML5. И что самое впечатляющее, мы получили множество отзывов от разработчиков, которым Chrome Frame помог создать приложения, свободные от унаследованного (legacy) кода, которые, таким образом, гораздо легче создавать, поддерживать и оптимизировать.

Тем не менее, оставалась одна проблема, мешающая широкому применению Chrome Frame всеми пользователями Internet Explorer: для установки Chrome Frame пользователь должен был обладать правами администратора. В этом году, на конференции Google I/O мы объявили о том, что эта проблема, наконец, полностью решена.
Читать дальше →

Свежий эксплойт для IE9: подробности

Время на прочтение3 мин
Количество просмотров3.4K

От переводчика


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

Новый эксплойт IE9


Новый эксплойт IE9 обходит все средства обеспечения безопасности даже в последней версии Windows 7 со всеми обновлениями, сообщает французская компания Vupen, специализирующаяся на информационной безопасности.
Читать дальше →

Разработчики ReactOS с гордостью представляют версию 0.3.13

Время на прочтение2 мин
Количество просмотров2.2K
В этой версии была продолжена работа, результаты которой были впервые представлены в 0.3.12, начиная от улучшений в механизмах работы с памятью, и заканчивая улучшениями в управлении звуком и экраном. Кроме того, между версиями 0.3.12 и 0.3.13 был проведен статический анализ кода при помощи Coverity, что помогло нам вычистить потенциальные дыры в безопасности, а также в целом улучшить стабильность системы за счет более аккуратного обращения с памятью.
Читать дальше →

Native Client: К взлету готов!

Время на прочтение2 мин
Количество просмотров5.5K
В течении последних месяцев мы интенсивно работали над переводом Native Client на новый API плагинов браузера, Pepper (Pepper представляет собой набор расширений NPAPI, предложенный Google. прим. перев.). Native Client представляет собой технологию, позволяющую выполнять машинный код непосредственно в браузере, причем прозрачно и безопасно. Сегодня, с выпуском обновленного SDK для Native Client, мы добились значительного прогресса на пути тому, чтобы сделать модули Native Client такими же переносимыми и безопасными, как JavaScript.
Читать дальше →

Chrome 9: Прорыв в скорости, поддержке 3D и веб приложений

Время на прочтение2 мин
Количество просмотров1.3K
Сегодня, с выходом 9-й версии браузера Google Chrome, мы рады представить новые функции, ранее присутствовавшие только в бета версиях. Эти функции включают поддержку WebGL, Живой поиск и Магазин приложений Chrome.
Читать дальше →

Разоблачение алгоритмов растеризации шрифтов (1/2)

Время на прочтение15 мин
Количество просмотров14K
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.

От переводчика


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

Информация

В рейтинге
1 368-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность