Pull to refresh
271
-7
Иван Сорокин @unxed

веб

far2l в Ubuntu 23.10

Level of difficulty Easy
Reading time 4 min
Views 20K

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

Читать далее
Total votes 94: ↑94 and ↓0 +94
Comments 64

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

Level of difficulty Medium
Reading time 11 min
Views 8.9K

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

Читать далее
Total votes 58: ↑55 and ↓3 +52
Comments 71

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

Level of difficulty Medium
Reading time 4 min
Views 22K

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

Нас взяли в Debian!

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

Читать далее
Total votes 141: ↑141 and ↓0 +141
Comments 89

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

Reading time 5 min
Views 19K

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

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

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

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

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

Читать далее
Total votes 94: ↑94 and ↓0 +94
Comments 98

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

Reading time 4 min
Views 26K

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

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

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

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

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

Читать далее
Total votes 93: ↑92 and ↓1 +91
Comments 114

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

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

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


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

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

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


Читать дальше →
Total votes 236: ↑235 and ↓1 +234
Comments 585

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

Reading time 2 min
Views 4.1K
Можно смело утверждать, что этой осенью формат WebP переживает второе рождение. Сообщения о новых возможностях следуют буквально одно за другим. Здесь я приведу перевод самых интересных новостей, касающихся формата WebP и перспектив его развития и поддержки. Топик сознательно не оформляется как перевод, так как данные приведены сразу из нескольких источников. Итак, полупрозрачность, сжатие без потерь, поддержка IE6+ и так далее!
Читать дальше →
Total votes 75: ↑73 and ↓2 +71
Comments 49

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

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

Тем не менее, оставалась одна проблема, мешающая широкому применению Chrome Frame всеми пользователями Internet Explorer: для установки Chrome Frame пользователь должен был обладать правами администратора. В этом году, на конференции Google I/O мы объявили о том, что эта проблема, наконец, полностью решена.
Читать дальше →
Total votes 52: ↑46 and ↓6 +40
Comments 23

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

Reading time 3 min
Views 3.3K

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


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

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


Новый эксплойт IE9 обходит все средства обеспечения безопасности даже в последней версии Windows 7 со всеми обновлениями, сообщает французская компания Vupen, специализирующаяся на информационной безопасности.
Читать дальше →
Total votes 83: ↑70 and ↓13 +57
Comments 130

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

Reading time 2 min
Views 2.1K
В этой версии была продолжена работа, результаты которой были впервые представлены в 0.3.12, начиная от улучшений в механизмах работы с памятью, и заканчивая улучшениями в управлении звуком и экраном. Кроме того, между версиями 0.3.12 и 0.3.13 был проведен статический анализ кода при помощи Coverity, что помогло нам вычистить потенциальные дыры в безопасности, а также в целом улучшить стабильность системы за счет более аккуратного обращения с памятью.
Читать дальше →
Total votes 94: ↑91 and ↓3 +88
Comments 69

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

Reading time 2 min
Views 5.4K
В течении последних месяцев мы интенсивно работали над переводом Native Client на новый API плагинов браузера, Pepper (Pepper представляет собой набор расширений NPAPI, предложенный Google. прим. перев.). Native Client представляет собой технологию, позволяющую выполнять машинный код непосредственно в браузере, причем прозрачно и безопасно. Сегодня, с выпуском обновленного SDK для Native Client, мы добились значительного прогресса на пути тому, чтобы сделать модули Native Client такими же переносимыми и безопасными, как JavaScript.
Читать дальше →
Total votes 62: ↑49 and ↓13 +36
Comments 98

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

Reading time 2 min
Views 1.3K
Сегодня, с выходом 9-й версии браузера Google Chrome, мы рады представить новые функции, ранее присутствовавшие только в бета версиях. Эти функции включают поддержку WebGL, Живой поиск и Магазин приложений Chrome.
Читать дальше →
Total votes 69: ↑54 and ↓15 +39
Comments 90

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

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

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


В первый раз я столкнулся с этой статьей в 2008 году. С тех пор я неоднократно задумывался о переводе (так как лучшего материала по теме не найти), и вдруг ссылка на оригинал всплыла на Хабре в обсуждении топика «Сглаживание шрифтов, анти-алиасинг, и субпиксельный рендеринг». Это стало решающим фактором (раз на материал ссылаются, значит, он кому-то нужен), и работа была, наконец, закончена.
Читать дальше →
Total votes 132: ↑130 and ↓2 +128
Comments 60

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

Reading time 14 min
Views 10K
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)

Linux


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


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



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

Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
Читать дальше →
Total votes 124: ↑121 and ↓3 +118
Comments 49

Opera Mini Proxy для Google Chrome

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

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

Хорошая новость: теперь ompd можно установить в качестве расширения Chrome (и других браузерах, основаных на исходном коде Chromium). Во-первых, расширение гораздо легче, чем оригинальный ompd, требующий для работы интерпретатор Python. Во-вторых, не нужно постоянно держать второе открытое окно и следить за настройками прокси. Как это выглядит, можно увидеть на скриншоте, а подробности — под катом.
Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Comments 59

WebP, новый формат изображений для интернета

Reading time 3 min
Views 25K
В рамках инициативы компании Google, заключающейся в том, чтобы сделать интернет более быстрым, в течении прошедших месяцев мы выпустили целый набор инструментов, призванных помочь владельцам сайтов их ускорить. Мы запустили расширение для Firefox под названием Page Speed, позволяющее изучать производительность веб страниц, а также получать предложения о том, как её увеличить. Мы представили Speed Tracer, расширение для Chrome, позволяющее найти и исправить проблемы с производительностью в веб приложениях. Кроме того, мы выпустили набор инструментов для завершающей стадии разработки (closure tools), призванный помочь создавать сложные веб приложения с польностью оптимизированным javascript-кодом. В то время, как эти инструменты были невероятно успешны, помогая разработчикам оптимизировать их сайты, мы продолжали работу, и нам удалось обнаружить единственный компонент веб страниц, который полностью ответственнен за большинство задержек на страницах: изображения.

Большая часть распространенных форматов изображений, используемых в сети, были созданы более 10 лет назад и основаны на технологиях того времени. Инженеры из Google решили проверить: нет ли способа увеличить степень сжатия алгоритмов сжатия с потерями (как JPEG), чтобы позволить изображениям загружаться быстрее, при этом полностью сохраняя их разрешение и визуальное качество. В результате работы на этим проектом мы выпускаем новый формат изображений, WebP, в предварительной версии для разработчиков. Этот формат обещает существенно уменьшить бинарный размер фотографий в сети, позволяя сайтам загружаться быстрее, чем раньше.
Читать дальше →
Total votes 99: ↑91 and ↓8 +83
Comments 78

Почему, всё-таки, IE9 для XP не будет?

Reading time 2 min
Views 60K
Официальный ответ на этот вопрос с сайта IE9 Platform Preview:
Q. Does Platform Preview run on Windows XP?
A. No. Internet Explorer 9’s GPU-powered graphics take advantage of new technologies available in Windows 7 and back-ported only to Windows Vista. These technologies depend on advancements in the display driver model introduced first in Windows Vista.

По-русски:
В: Работает ли Platform Preview на Windows XP?
О: Нет. В IE9 используется аппаратное ускорение графики средствами видеокарты, которое использует новые технологии, доступные только в Windows 7 и портированные только в Vista. Эти технологии зависят от улучшений в модели драйверов, впервые применных в Vista.

Данное объяснение с самого начала казалось мне несколько сомнительным. Давайте разберемся.
Читать дальше →
Total votes 49: ↑26 and ↓23 +3
Comments 46

Представляем самый быстрый декодер VP8 в мире: ffvp8

Reading time 7 min
Views 5K
Ещё в тот момент, когда я писал первоначальный обзор VP8, я обратил внимание на то, что официальный декодер, libvpx, весьма медленный. Нет особенных причин, по которым он должен быть ощутимо быстрее хорошего декодера H.264, но и таким медленным ему тоже быть не с чего! Так что у меня возник план написать луший вариант для FFmpeg вместе с Рональдом Балтьи (Ronald Bultje) и Дэвидом Конрадом (David Conrad). Эта реализация декодера должна была разрабатываться сообществом и быть свободной с самого начала, в отличии от свалки проприетарного кода, которую представла собой библиотека libvpx. Несколько недель назад декодер был достаточно завершен для обеспечения бинарной совместимости видеопотока с libvpx, что сделало его первой независимой и свободной реализацией декодера VP8. Теперь, когда мы завершили первый цикл оптимизаций, он должен был готов к использованию в реальных условиях. Я расскажу о деталях процесса разработки позже, а сейчас давайте перейдем к самой соли этого поста: результатам сравнительного тестирования производительности кодеков.
Читать дальше →
Total votes 63: ↑58 and ↓5 +53
Comments 38

Поддержка браузерами технологии Data Execution Prevention

Reading time 2 min
Views 1.6K
Как известно, значительная часть вредоносного ПО, просачивающегося на компьютеры пользователей, попадает туда, используя ошибки в браузерах, а ещё чаще — в популярных плагинах, таких как Flash, Adobe Reader, Java и т.д.

При этом, значительную часть подобных уязвимостей (а именно, те из них, которые связаны с переполнением буфера) можно было бы блокировать, включив для браузера и его плагинов поддержку технологии Data Execution Prevention, доступную в ОС семейства Windows, начная с XP SP2.

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

К сожалению, далеко не все программы способны полноценно работать в режиме DEP, и популярные браузеры — не исключение. Вот краткий обзор возможностей по работе в режиме DEP современных браузеров.
Читать дальше →
Total votes 36: ↑31 and ↓5 +26
Comments 16

статистика браузеров, firefox и групповые политики

Reading time 1 min
Views 1K
Так забавно в праздники наблюдать за тем, из-под чего народ ходит в интернет.

1-10 января: Internet Explorer 6: 8,1%
11-14 января: он же уже 8,6%

Народ на работу вышел :)

PS: А ежели кто-то считает, что необходимость автоматической установки и применения групповых политик Active Directory оставляют возможность использовать в корпоративной сети только Internet Explorer, то для этих людей вот пожалуйста ссылки:
Ссылка раз
Ссылка два
Ссылка три
Ссылка четыре
Ссылка пять (sic! смотреть сюда)
И еще ссылка шесть для тех, кто хочет всё делать руками.
Total votes 17: ↑9 and ↓8 +1
Comments 6
1

Information

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