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)
Ответ на: комментарий от WitcherGeralt

Вот для имитатора программиста tty — мастхев.

Разве что :))

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

Мне тоже. До того как увидел этот код, я не знал что basename умеет отпиливать расширения, а с первого взгляда на код (причём с телефона) стало очевидно. Мб он и не самый читабельный, зато максимально производительный, что во времена его написания было более чем важно.

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

Если работать,

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

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

Если работать, а не по интернетам с капчами лазить, то всё именно удобно.

«Интрнеты с капчами» — наглядный, но отнюдь не единственный пример костылестроительства либо апелляций к «не всем это нужно» там, где проще отказаться от tty. При этом даже можно, если уж возникает столь странное желание, использовать однобайтные кодировки и/или текстовые браузеры.

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

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

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

Но, если текстовая консоль удобнее для решаемых задач, то зачем от неё отказываться?

Встречный вопрос — если текстовая консоль не удобнее для решаемых задач, то зачем за нее цепляться? А она не удобнее — то, как ты читаешь pdf (не буду повторяться про капчу) и весь остальной не-plaintext, не имеет ничего общего с удобством.

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

Заглянуть в отдельные pdf/djvu файлы и из текстовой консоли весьма удобно. А в целом текстовая консоль гораздо удобнее.

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

Ожидал что-нибудь с qwerty и более полноценным линуксом. Удивлён, что выбор телефона сугубо практичный.

Сам, кстати, в том числе и ради удобства пользования консолью, купил 6" лопату (Nokia 7+) с соотношением сторон экрана 2:1. Не шучу, правда люблю иметь консоль (раньше Terminal IDE, сейчас Termux) под рукой на всякий случай. На телефоне юзаю крайне редко, но на 8" планшете постоянно.

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

Заглянуть в отдельные pdf/djvu файлы и из текстовой консоли весьма удобно.

Да-да, перегнать в картинки и «скормить» fbi (или как его там) — верх удобства. И так во всем.

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

Ага, и даже там (И даже по ссылке оттуда) люди не понимают зачем. А те 2-е болезных (Или, возможно, просто любопытных) скоро закончат насиловать труп и положат обратно в могилу. Так что да, сгинуло.

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

Там есть и понимающие:

Видимо, есть спрос. Кому-то надо портировать что-то большое и они посчитали, что легче портировать Qt, чем заново переписывать программу.

Цель - дать возможность запуска нормальной DE в условиях их полного вымирания на данный момент. ... Ты можешь язвить, но факт есть факт - да, мне и еще парочке гиков. Да, проект существует. Внезапно. Можешь протереть глаза, он никуда не денется.

Новость хорошая, человеку функциональному КДЕ 1-2 должно хватить

Не надо. KDE2 реально был хорош.

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

а зачем в них заглядывать с помощью каких то извращённых методов если можно просмотреть полностью с иллюстрациями поясняющими к примеру работу какого то алгоритма? откуда такая ненависть графическим изображениям, они могут быть полезны во многих случаях. чисто текстовую консоль использовали когда не было возможности отображать графику на экране, а в настоящее время компьютер способен отображать не только графику но и видео, воспроизводить звук и таким образом стали ненужны различные вещи которые пользовались популярностью когда в компьютерах были только текстовые консоли как то телевизоры, проигрыватели музыки, и прочее. всё это может при разумном использовании помочь в работе. хоть над чем ты работаешь но что такого страшного посмотреть видео с конференции разработчиков по твоей области видимо чрезвычайно секретной раз уж ты игнорируешь все вопросы об этом. отказываться от этих возможностей современных компов очень глупо. наверное на дискетах хранить по 640 килобайт тебе тоже удобнее чем закачать на флешку. хотя о чём я говорю, для чисто текста наверное 640 килобайт достаточно а уж если не поместится слава богу существует true hacker's reader который прочитает с 2 дискет.

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

Текстом можно передать гораздо больше информации чем думают многие. Даже схемы можно очень хорошо описывать словами или рисовать псевдографикой. В этом контексте без иллюстраций довольно сложно обойтись только в случаях с очень большим количеством информации. Например, пока опишешь словами карту какого-нибудь города можно состариться, да. А объёмы информации поменьше можно и текстом передавать.

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

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

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

Про FreeBSD не знаю, но в составе как Debian'а 3.0 Woody так и Red Hat'а 7.2 KDE 2 было хорошим DE.

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

Видимо, есть спрос. Кому-то надо портировать что-то большое и они посчитали, что легче портировать Qt, чем заново переписывать программу.

Вполне себе причина, если только не ради некрофилии с KDE.
Остальное - ностальгирующие. Я вот тоже иногда накатываю XP что бы вспомнить как оно было, но пользоваться этим в 2018 - нет, спасибо.

Deleted
()
Последнее исправление: dearAmomynous (всего исправлений: 1)
Ответ на: комментарий от iluha16

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

Это было бы менее удобно.

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

Не всем удобнее воспринимать информацию визуально. Есть ещё и люди «смотрю в книгу - вижу график», которым графики картинками, по сути, ничего нового не дают. А чтение текстом позволяет получше продумать информацию, и, возможно, заметить то, что ускользнуло бы на графике.

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

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

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

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

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

Глифы - тоже картинки

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

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

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

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

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

иди чёнить почитай по теории информации уже.
даже когда передавали флажками и фонариками — нужно ack
кому ты ack будешь передавать? стрелкам? невежда.

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

Даже схемы можно очень хорошо описывать словами или рисовать псевдографикой.

Диаграммы отсюда словами опишешь? Или псведографикой изобразишь? Далеко не карты городов, заметь.

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

Диаграммы отсюда словами опишешь?

на псевдокоде, может даже понятнее получится.

system-root ★★★★★
()
Ответ на: комментарий от iluha16

хоть 2 хоть 5 ничего принципиально нового,

вот не надо ничего нового, они его только ухудшают своими нововведениями, буковку К, которая 4 релиза на стартовой кнопке была, убрали, низабуду-нипращу!

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

Нет, это обычные сокращения. bcnt - «byte count», mxcol - «maximum column», mmxcolt - «maximum column minus two», ltline - «last line (для перехода)»,... и т.д. Всё просто и очевидно.

Почему-то мне вспомнилась статья “Intersystems Caché — Gateway to Hell”.

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

CDE же откопали.

Строго говоря, среда CDE умела в юникод уже тогда, когда на дворе были Qt 1.4 и GTK+ 1.2. Ни один из двух упомянутых тулкитов не умел работать с юникодом до второй версии (Qt 2.x и GTK+ 2.x).

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

да эти кнопки нах не нужны. проще настроить хоткий например Ctrl+Alt+R и вводить название программы. это быстрее и удобнее не надо выносить руку с клавы на мышь. вобще keyboard shortcuts очень хорошо и их надо как можно больше главное не забыть потом что нажимать. самая главная концепция - квадратное окно с изменяемым размером и позицией на экране, и всё чем «разработчики» занимаются это навешиванием декоративной херни поверх этой концепции и переписыванием софта с использованием как можно большего количества промежуточных библиотек и фреймвёрков и прочего говна что бы засрать как можно больше памяти. это вместо того что бы заниматься разработкой AI и интерфейса который способен поддержать диалог с пользователем и открыть это самое окно с нужной информацией. это более естественный способ взаимодействия, когда мы просим кого то подать отвёртку мы просто об этом говорим а не показываем на неё пальцем. поэтому и консольные программы естественнее и удобнее в использованием но есть одно но - надо помнить их опции на десяток странниц man'а что не под силу не профессионалу который не использует их ежедневно.

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

AI не должен открывать окна. окна не нужны когда есть AI сразу автоматом.
этот паттерн с прямоугольными окнами пошёл со стола и бумаг на нём, всё подобное можно заметить «секретаршей».

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

«Лор» вообще странные ассоциации вызывает, как раз с учетом специфики ресурса - otorinolaringolog.org.ru было бы неплохо.

dmial
()

я джва года ждал

огонь))))))))))))

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

Диаграммы отсюда словами опишешь?

У меня такое чувство, что авторы блоксхемы где-то потеряли кучу стрелок. Додумывать ничего не буду, опишу по тем, что в наличии. Итак:

После интерфейса ввода происходит проверка «In-interface Bridge», в случае провала которой происходит переход на подпрограмму «Prerouting», в случае же успеха происходит переход на подпрограмму «Bridge DST-NAT», следом за которой происходит проверка условия «Use IP Firewall», при этом в обоих случаях происходит переход на проверку условия «Bridge Decision», но в случае положительной проверки перед этим происходит выполнение подпрограммы «Prerouting». По результатам проверки условия «Bridge Decision» происходит переход либо на подпрограмму «Bridge Input», либо на подпрограмму «Bridge Forward». После подпрограммы «Bridge Forward» происходит вторая проверка условия «Use IP Firewall», при этом в обоих случаях происходит переход на подпрограмму «Bridge SRC-NAT», но в случае положительной проверки перед этим происходит выполнение подпрограммы «Forward». После подпрограммы «Bridge SRC-NAT» происходит проверка третьего условия «Use IP Firewall», при этом в обоих случаях происходит переход на подпрограмму «Interface HTB», но в случае положительной проверки перед этим происходит выполнение подпрограммы «Postrouting». После подпрограммы «Interface HTB» производится вывод на интерфейс вывода.

После обоих подпрограмм «Bridge Input» и «Prerouting» происходит проверка условия «Routing Decision» по результатам которой происходит переход либо на подпрограмму «Input», либо на подпрограмму «Forward», но с последующим переходом на проверку условия «out-interface Bridge», где в случае положительной проверки происходит вторая проверка условия «Bridge Decision» по результатам которой происходит выполнение подпрограммы «Bridge Output», а затем переход на подпрограмму «Bridge SRC-NAT», или, в случае отрицательной проверки условия «out-interface Bridge», происходит выполнение подпрограммы «Postrouting», но с переходом на проверку условия «IPSec Policy». В случае отрицательной проверки условия «IPSec Policy» происходит выполнение подпрограммы «Interface HTB» с последующим выводом на интерфейс вывода, но в случае положительной проверки происходит выполнение подпрограммы «IPSec Encryption» после которой происходит выполнение процедуры «Local Process OUT» следом за которой по результатам проверки условия «Routing Decision» происходит выполнение подпрограммы «Output» с возвращением к условию «out-interface Bridge».

После подпрограммы «Input» происходит проверка второго условия «IPSec Policy» в случае отрицательной проверки которого происходит выполнение процедуры «Local Process IN» с последующим переходом на процедуру «Local Process OUT», а в случае положительной проверки происходит выполнение процедуры «IPSec Decryption» с переходом на подпрограмму «Prerouting».

...

Ну и т.д.

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

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

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

Даже ребята из NetBSD, которые запустили в 2004м году KDE 1.1 на микроваксе (кстати, о «нетормозит». Что вы знаете, о тормозах, щенки!) не относились к своим изыскам серьезно.

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

Ну и да, снова напомню про пафос.

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

Нет, не вижу. Разным людям проще разное.

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