All streams
Search
Write a publication
Pull to refresh
312
174.3
Иван Сорокин @unxed

веб

Send message

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

Level of difficultyEasy
Reading time3 min
Views3.1K

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views14K

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views18K

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

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views12K

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views31K

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

sudo apt update

sudo apt install far2l

Читать далее

far2l в Ubuntu 23.10

Level of difficultyEasy
Reading time4 min
Views28K

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

Читать далее

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

Level of difficultyMedium
Reading time11 min
Views10K

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

Читать далее

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

Level of difficultyMedium
Reading time4 min
Views28K

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

Нас взяли в Debian!

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

Читать далее

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

Reading time5 min
Views20K

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

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

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

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

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

Читать далее

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

Reading time4 min
Views28K

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

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

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

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

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

Читать далее

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

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

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


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

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

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


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

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

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

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

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

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

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

Reading time3 min
Views3.4K

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


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

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


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

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

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

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

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

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

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

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

Reading time15 min
Views14K
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.

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


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

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

Reading time14 min
Views10K
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)

Linux


Наследуя худшее


Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:



Вот полный скриншот:
ссылка

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

Opera Mini Proxy для Google Chrome

Reading time2 min
Views25K
Регулярно читающие этот блог наверняка помнят мою предыдущую заметку про Opera Mini Proxy. Для тех кто не помнит, вкратце: это прекрасная возможность экономить трафик там, где он стоит очень дорого.

Opera Mini Proxy (он же Opera Mini Proxy Daemon или ompd) пропускает http трафик через сервера opera mini, где контент сжимается в несколько десятков раз (для оптимизации отображения на мобильных устройствах). До появления ompd можно было использовать opera mini на десктопах с помощью эмуляторов j2me, что, конечно, совсем не удобно. ompd же позволял загружать сжатый контент практически в любом браузере (работая при этом как локальный прокси сервер).

Хорошая новость: теперь ompd можно установить в качестве расширения Chrome (и других браузерах, основаных на исходном коде Chromium). Во-первых, расширение гораздо легче, чем оригинальный ompd, требующий для работы интерпретатор Python. Во-вторых, не нужно постоянно держать второе открытое окно и следить за настройками прокси. Как это выглядит, можно увидеть на скриншоте, а подробности — под катом.
Читать дальше →
1

Information

Rating
32-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity