LINUX.ORG.RU
ФорумTalks

Вышел True hackers' reader 0.23

 , , , ,


4

4

Состоялся релиз нового просмотрщика текстов (минималистичного аналога less'а) в однобайтных кодировках True hackers' reader 0.23.

Особенности реализации:

  • Читает содержимое файла в оперативную память и разблокирует текстовый файл, который больше программе не нужен. В отличие от less'а, который читает файл маленькими порциями, а потому требует чтобы файл продолжал присутствовать в системе. Это отличие позволяет True hackers' reader'у, например, читать кучу разных текстовых файлов с разных дискет в системе с одним дисководом. В то время как less заблокировал бы первую же дискету.
  • Несмотря на минималистичные исходники оперативную память расходует сильнее less'а, поскольку текст из файла хранится в буфере в оперативной памяти. Что, впрочем, значительно уменьшает время доступа к любой строке текста (тот же less при прокручивании N строк начинает обращаться к файлу, читать и прокручивать по одной строке с выводом промежуточных результатов, что очень медленно и в последних версиях при вводе цифры полученной при помощи '=' результат не всегда совпадает с ожиданием (что, собственно, и способствовало появлению True hackers' reader'а)).
  • True hackers' reader использует меньше чем less таких функций как, например, doupdate(). Как следствие, True hackers' reader на ARM'ах значительно шустрее чем less.
  • Локаль UTF-8 не поддерживается совсем. Если программа обнаружит локаль UTF-8, то её выполнение завершится ошибкой «Error: invalid locale (UTF-8) found».
  • В первых версиях присутствовали значительные ограничения на размеры текстовых файлов, которые были связаны с внутренними ограничениями библиотеки ncurses (внутренние размеры ncurses (а текст сразу выводился в окно ncurses, которое затем просто сколлилось) ограничены максимальным значением short int, что для x86_64 составляет 32767). Это приводило к тому, что программа могла отказаться читать текстовые файлы, размер которых превышал 2,5 Мб. О чтении текстовых файлов на десятки мегабайт не могло идти и речи. Начиная с версии 0.10 введён промежуточный буфер для текста (который, вопреки ожиданиям, не так уж и снизил скорость программы, но очень значительно сократил расход оперативной памяти) и программа начала открывать текстовые файлы на сотни мегабайт.
  • У программы есть 4 опции:
    -r - удалить файл после прочтения в оперативную память;
    -f - прокрутка по целой странице
            (по дефолту программа оставляет последнюю строку предыдущей страницы в самом начале новой);
    -t - заменить табы пробелами;
    -s - переформатировать текст по ширине экрана;
    
    Переключатель режима прокрутки доступен и во время работы программы по клавише 'f'. Опции должны указываться после пути к файлу, который всегда указывается первым аргументом. Если в первом аргументе программа обнаружит вместо пути к файлу одну из опций, то её выполнение завершится с ошибкой «Error: wrong options and path to file order».
  • Если программа обнаружит локаль KOI8-R, то в окне справки (вызывается по F1) появится надпись «Привет KOI8-R'щикам!». При другой однобайтной локали эта надпись будет отсутствовать.
  • В комплект входят два скрипта на bash'е: lzthreader, который разархивирует пожатый gzip/bzip2/lzma/xz/lzip текстовый файл во временный, а затем открывает его в True hackers' reader'е с опцией удаления файла, а также hexthreader, который при помощи утилиты Brutal squirrel ( http://saahriktu.org/downloads/brtlsqrrl-0.4.tar.xz ) преобразует файл в шестнадцатеричное представление, а затем открывает его в True hackers' reader'е с переформатированием по ширине экрана.

Скачать True hackers' reader и Brutal squirrel также можно по протоколу gopher при помощи команд

curl gopher://sdf.org/9/users/saahriktu/saahriktu.org/truehackersreader-0.23.tar.lzma > truehackersreader-0.23.tar.lzma
curl gopher://sdf.org/9/users/saahriktu/saahriktu.org/brtlsqrrl-0.4.tar.xz > brtlsqrrl-0.4.tar.xz

Скачать (3177 байт)

Перемещено Shaman007 из opensource

★★★★★

Последнее исправление: Shaman007 (всего исправлений: 2)
Ответ на: комментарий от crypt

Ну если у тебя раскладка qwerty, то пох, а если ты не такой как все и у тебя dvorak, то другим людям работать за твоей клавиатурой невозможно =)

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Dred

Узнал автора по заголовку

Я еще не настолько крут, но скриншот сразу открыл мне его имя!

ssh2 ★★★★★
()
Ответ на: комментарий от saahriktu

Спасибо тебе saahriktu за полезную программу.

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

И это не сарказм.

Shulman
()

Я бы понял, если бы автору этого поделия на прошлой неделе исполнилось 12. Но ты же старше, не так ли?

XMs ★★★★★
()
Ответ на: комментарий от Shulman

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

Твоя мама Ъ-хакер или не Ъ? Если не Ъ, то ей нельзя пользоваться это программой!

theNamelessOne ★★★★★
()
Ответ на: комментарий от crypt

При чём тут всё это? Мне не важно что нужно большинству. Я делаю то, что нужно мне. И делюсь с теми, кому оно тоже нужно. А, повторяю, даже в проекте GNU есть как минимум один юзер однобойтной ISO-8859-15. Который делает свой однобайтный текстовый редактор moe и также делится с теми, кому он нужен. И этот moe есть даже в репозитории Федоры.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Thetan

В ядерной консоли с локалью KOI8-R можно делать почти всё. Интернет, игры, видео, музыка, программирование, чтение и написание текстов,... и т.д. Полноценный десктоп!

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от shdown

Floating point

Топ кек [2], «Не всем нужна ...»

anonymous
()
Ответ на: комментарий от XMs

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

thunar ★★★★★
()
Ответ на: комментарий от saahriktu

Всё там видно. Всё там и так по-человечески.

Предлагаю ознакомиться с кодом ядра. Вот там видно и по-человечески. У тебя говнокод в стиле первокурсника на паскале.

anonymous
()
Ответ на: комментарий от saahriktu

Ты перечисленным не занимаешься. Только выборочные готовые пердольские семплы открываешь.

anonymous
()
Ответ на: комментарий от saahriktu

Крякозябры же. У меня была проблема читать пдфки и прочие документы, нормального просмотрщика картинок нет, нормального мессенджера для jabber/irc нет, браузер только без скриптов +- работает, напрягает всё же. Ридера для fb/epub тоже не припомню. Видео только с libcaca было не очень хорошо. Все фреймбуферные программы корёжили мне терминал.

anonymous
()
Ответ на: комментарий от Shaman007

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

Я читал истории успеха, как люди на распберри делают бесшумный десктоп. (Хотя подозреваю, что всем современным браузерам на этом десктопе будет очень больно — но хорошо бы это кто-нибудь проверил на практике.)

Идея-то заманчивая.

hobbit ★★★★★
()
Ответ на: комментарий от saahriktu

Скажи, а ты пробовал вообще переходить на UTF-8? А не задумывался ли написать полноценную объективную статью, с разбором преимуществ и недостатков UTF-8 и однобайтовых кодировок, с фактами статистикой и без фанатизма? Может все-таки есть причина массового перехода на UTF-8? Или ты считаешь, что все дураки а ты, едди и чувак с мое особенные, не такие как все?

Rupricht ★★
()
Ответ на: комментарий от hobbit

Ну я сделал такой детям. Они на меня за это сердятся. Ютьюб работает, если никуда не спешить, скрэтч и питон работают. Но... Задачи сильно ограничены инструментом.

У нас на работе на нем работает камин (в камине стоит экран, где крутится видео с огнем). Термометр можно сделать годный. Лампочками мигать по REST API. Но десктоп совсем-совсем грустный.

Shaman007 ★★★★★
()
Ответ на: комментарий от anonymous

Видео только с libcaca

А как же drm?

anonymous
()
Ответ на: комментарий от anonymous

Крякозябры же

Руки же.

нормального просмотрщика картинок нет

fbi.

нормального мессенджера для jabber/irc нет,

CenterIM.

telikan
()
Ответ на: комментарий от saahriktu

Вопрос нужно ставить наоборот: какие у меня должны были бы быть задачи, чтобы при не более чем 256-ти символах в шрифте (а в ядре ограничение на размер шрифта в 64 Кб), при отсутствии профитов от юникода (всё только, наоборот, будет в квадратиках), мне нужно было бы переходить на UTF-8?

Наличие текстов, в которых одновременно присутствуют русские и греческие буквы, например.

hobbit ★★★★★
()
Ответ на: комментарий от Rupricht

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

Shaman007 ★★★★★
()
Ответ на: комментарий от saahriktu

But in the GNU C Library wchar_t is always 32 bits wide and, therefore, capable of representing all UCS-4 values and, therefore, covering all of ISO 10646. Some Unix systems define wchar_t as a 16-bit type and thereby follow Unicode very strictly. This definition is perfectly fine with the standard, but it also means that to represent all characters from Unicode and ISO 10646 one has to use UTF-16 surrogate characters, which is in fact a multi-wide-character encoding. But resorting to multi-wide-character encoding contradicts the purpose of the wchar_t type.

Jetty ★★★★★
()
Ответ на: комментарий от thunar

Не показатель. Но такой набор (характерные названия, зелёный текст на чёрном фоне, намеренное ухудшение, как, например, чтение всего файла в оперативку, под видом улучшений, фанатичность по отношению к однобайтовым кодировкам, фанатичная ненависть к UTF-8 (уж не знаю, чем ещё объяснить „Локаль UTF-8 не поддерживается совсем. Если программа обнаружит локаль UTF-8, то её выполнение завершится ошибкой «Error: invalid locale (UTF-8) found».“), добавление излишних свистоперделок, таких как удаление файла после прочтения, какие-то ненужные скрипты, зачем-то написанные на баше вместо нормального POSIX shell) больше подходит вчерашнему младшекласснику, IMHO. Если ТС старше — это как-то совсем грустно

XMs ★★★★★
()
Ответ на: комментарий от anonymous

Крякозябры же

Только в случае отдельных текстовых файлов открываемых руками. Но, и здесь можно быстро научиться определять кодировку текста на глаз.

нормального просмотрщика картинок нет

fbi же.

читать пдфки и прочие документы

Есть тот же скрипт fbgs, который про помощи gs конвертит pdf файл в набор картинок и открывает в fbi. Но, можно и так конвертировать pdf/djvu в наборы картинок, а потом открывать их в fbi.

нормального мессенджера для jabber/irc нет

Есть BitlBee + irssi.

Ридера для fb/epub тоже не припомню

Я их в plaintext конвертирую. После чего можно читать и сабжевой читалкой.

Все фреймбуферные программы корёжили мне терминал

У меня они всегда хорошо работали.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от hobbit

на распберри делают бесшумный десктоп. (Хотя подозреваю, что всем современным браузерам

Если что, там этих raspberrypi штук 6 разных. Так у пи3 такое железо что там даже вроде ( по слухам ) windows 10 заводится.

mx__ ★★★★★
()
Ответ на: комментарий от anonymous

Бесшумно гораздо более адекватное железо, это не свойство одноплатников.

Можешь накидать примеров, пригодных для домашнего десктопа?

hobbit ★★★★★
()
Ответ на: комментарий от mx__

Win 10 for IoT, оно чуть ли не безголовое. Это не десктоп вообще совсем.

Shaman007 ★★★★★
()
Ответ на: комментарий от hobbit

Да хоть на 1-й хоть на 3-ей. Он неоптимально использует вызовы ncurses. Обновляет всё, когда можно не обновлять. При переходе на нужную строку начинает прокручивать по одной строке с выводом промежуточных результатов.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от hobbit

На первой у него тормозит. Википедия говорит, что оно по мощности как P-II 300.

Shaman007 ★★★★★
()
Ответ на: комментарий от XMs

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

thunar ★★★★★
()

Не вижу смысла переписывать вновь less(more), cat ,echo , ls всякие такие, это совершенные во всех смыслах программы, лучше сделать нельзя да и не нужно.

cheetah111v
()
Ответ на: комментарий от hobbit

У меня дома стоит Sunvell T95X, который я купил за 2000 рублей на сдачу в алиэкспрессе. В качестве десктопа на каждый день так себе — андроид очень сопротивляется быть десктопом. Но смотреть фильмы или ютупчик — гораздо лучше, чем малинка.

Aceler ★★★★★
()
Ответ на: комментарий от eR

Под МиньетОС, на ассемблере. И поддерживать только код Бодо.

thunar ★★★★★
()
Ответ на: комментарий от saahriktu

Квадратики. Квадратики. В шрифте нет таких символов. Совсем.

Про однобайтные кодировки мы поняли — там может не быть таких символов, совсем, это и так все знают.

Aceler ★★★★★
()
Ответ на: комментарий от thunar

Не удивлюсь, если он пользуется рачем или шлякой

ЕМНИП, у него что-то своё на базе LFS

XMs ★★★★★
()
Ответ на: комментарий от saahriktu

Мне не важно что нужно большинству. Я делаю то, что нужно мне. И делюсь с теми, кому оно тоже нужно. А, повторяю, даже в проекте GNU есть как минимум один юзер однобойтной ISO-8859-15.

Shaman007 теперь ты понимаешь, почему подтвердил очень нужную и полезную новость?:) этот проект не задумывается для всех, он для автора и того второго из GNU.

crypt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.