crypt of decay - пилите, Шура, пилите [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

пилите, Шура, пилите [Jan. 14th, 2022|07:05 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
текстовый редактор наконец нарисовал в иксовом окошке страничку текста. а это обозначает, что большинство низкоуровневой механики (не только хранилище текстовых байтов — буфера, модификация текста и структур данных, навешиваемые оверлеи и всё такое — обрело пусть не конечную, но форму). и естественно, у меня получится emacs.

не то, чтобы можно было ожидать чего-то иного, когда в воображаемом ТЗ я видел: возможность открыть несколько отдельных фреймов для одного и того же текстового буфера; независимые, легко создаваемые и меняемые хайлайтеры; возможность цеплять к текстовым спанам произвольные атрибуты. это emacs и есть, в том числе и архитектурно.

собственно, сама архитектура очень простая: в самом низу верха лежит текстовый буфер. он реализован на piece table с aa-trees, но эту частную деталь никому знать не обязательно, наружу структура буфера не торчит, только API.

API буфера позволяет подцеплять к нему любые юзерские данные, и колбэки, которые будут вызываться при модификации буфера. этого, собственно, уже достаточно, чтобы сделать emacs.

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

выделение памяти в движке редактора делается блоками по 4 кб, через mmap (memory manager mmap-ит, понятно, регионы побольше, но отдаёт только по 4 кб за раз). так что на пустой текстовый буфер уходит около 32 кб (сразу создаётся несколько пулов), но это некритично. память буфера освобождают только по своему уничтожению, но и это на практике неважно. зато отсутствие фрагментации хипа — гарантировано.

загрузка двух гигабайт текста (тупо дамп sqlite-базы на 200 мегов, который несколько раз сам к себе в конец дописан) занимает около секунды (быстрее из дисковых кэшей не добывается, лол, дофига memcpy), и примерно около секунды у редактора уходит на то, чтобы просканировать прочитаное и создать массив с длинами строк. после этого навигация по тексту мгновенная, переход на любую строку мгновенный, удаление и вставка текста мгновенные.

ну, то есть, переход по строкам — O(2*log n) от количества строк в тексте при худшем раскладе (их там почти три миллиона, например), сканирование строки побайтово — O(1) (амортизированое), изменение текста — до O(2*log n) в самом худшем раскладе.

если похожие O(2*log n) выглядят подозрительно — то это потому, что одна и та же стуктура данных. информация о строках тоже лежит в array-tree, что позволяет очень быстро (сильно меньше миллисекунд) находить как номер строки по байтовому смещению, так и байтовое смещение по номеру строки. апдейты массива строк — с обычной гарантией балансированого двоичного дерева.

естественно, никто тексты размером два гига редактировать не будет (emacs такое вообще прочитать не в состоянии, у него лимит 2^29; у меня 2^31); но в качестве стресс-теста очень полезно. если на таком не тормозит — то на остальном и подавно не будет.

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

в общем, процесс движется, и скоро надеюсь — как и полагается — продолжать разработку редактора уже в самом этом редакторе.
Linkmeow!

Comments:
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 02:04 pm
(Link)
Дашь пощупать, когда допилишь?
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 02:11 pm
(Link)
да хоть сейчас, исходники как обычно открыты под GPL (если пентаграмма пустит, лол). в этот раз я решил, что люблю BDSM, и пишу на чистой сишечке.
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 03:07 pm
(Link)
Попытался зайти в каталог src, оно меня нафик послало:

Please enable javascript or log in to see this content
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:15 pm
(Link)
потому что фоссил использует js. о чём на сайте фоссила есть целая статья, с которой я, в общем согласен. это тот случай, когда неприятно, но допустимо.
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 03:22 pm
(Link)
А, расколдовал. Только вопрос, нельзя ли какой командой сразу все исходники выкачать и собрать потом на своей машине?
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:34 pm
(Link)
я это запретил, потому что дебильные боты каким-то образом всё равно умудряются находить ссылку «скочать зип» и долбить в неё.

да и смысл? всё ж в процессе, активно пилится. намного лучше просто склонировать репу фоссилом и обновлять потом, если интересно. фоссил простой, один бинарь, собрал — и даже устанавливать никуда не надо, он Просто Работает.
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 04:46 pm
(Link)
Я фоссилом никогда не пользовался, только git-ом, куда хоть копать, чтоб его поставить?
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 04:56 pm
(Link)
ты не поверишь, но… прямо на официальный сайт. ;-)
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 05:46 pm

не выходит каменный цветок :(

(Link)
smallwolfie@wolfshanze:/myfiles/test/editor# fossil help
Usage: fossil help TOPIC
Try "fossil help help" or "fossil help -a" for more options
Frequently used commands:
add cat diff ls revert timeline
addremove changes extras merge rm ui
all chat finfo mv settings undo
amend clean gdiff open sql unversioned
annotate clone grep pull stash update
bisect commit help push status version
blame dbstat info rebuild sync
branch delete init remote tag
This is fossil version 2.14 [487776dc45] 2021-01-20 15:34:40 UTC
smallwolfie@wolfshanze:/myfiles/test/editor# fossil sync ketmar.no-ip.org/fossil/sxed
use --repository or -R to specify the repository database
smallwolfie@wolfshanze:/myfiles/test/editor# fossil sync -R ketmar.no-ip.org/fossil/sxed
repository does not exist or is in an unreadable directory: ketmar.no-ip.org/fossil/sxed
smallwolfie@wolfshanze:/myfiles/test/editor# fossil sync -R ketmar.no-ip.org/fossil/sxed/src
repository does not exist or is in an unreadable directory: ketmar.no-ip.org/fossil/sxed/src
smallwolfie@wolfshanze:/myfiles/test/editor#
From:(Anonymous)
Date:January 14th, 2022 - 05:51 pm

Re: не выходит каменный цветок :(

(Link)
ложку за обедом тоже в ухо тычешь?

https://fossil-scm.org/home/doc/trunk/www/quickstart.wiki
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 06:27 pm

Re: не выходит каменный цветок :(

(Link)
Обед инопланетный.

Действительно, я эту систему вижу первый раз в жизни, так что действительно не знаю, как быть. Как говорили в "Межлокальной контрабанде":

- Все, парень, тебе труба.
- Подскажите куда дуть и какие кнопки нажимать!

Вот я пока не разобрался.
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 06:46 pm

Re: не выходит каменный цветок :(

(Link)
тебе анончик дал ссылку на документ, где всё расписано. эта же ссылка есть сразу на главной странице.
[User Picture]
From:[info]hex_laden
Date:January 14th, 2022 - 10:27 pm

Re: не выходит каменный цветок :(

(Link)
Попробую завтра, но не обессудь, если переспрошу. Ты сам говорил, что надо переспрашивать, если не понял. Пока поехал в Пудож, приеду, опять попытаюсь скачать твой редактор и собрать его.
[User Picture]
From:[info]steinkrauz
Date:January 15th, 2022 - 03:51 pm

Re: не выходит каменный цветок :(

(Link)
Забей.

Чтобы редактор собрать тебе ещё придётся тулзу для сборки собирать.
[User Picture]
From:[info]hex_laden
Date:February 14th, 2022 - 03:49 am

Re: не выходит каменный цветок :(

(Link)
Тулзу-то гитом можно выкочать на локальную мошину?
[User Picture]
From:[info]steinkrauz
Date:February 14th, 2022 - 02:32 pm

Re: не выходит каменный цветок :(

(Link)
Можно.
Если не ошибаюсь, она тут:
http://repo.or.cz/k8jam.git
From:(Anonymous)
Date:January 14th, 2022 - 02:14 pm
(Link)
привет. хочу пересесть наконец на linux, понравились два дистра - gentoo (есть небольшой опыт) и slackware. у меня нет пары десятков машин и необходимости держать сервер, лишь пара компов, поэтому склоняюсь к последней. в связи с чем вопросы: 1) прописывать сотни зависимостей в ручную пока кажется чем-то страшным. мол еще догадайся что чему нужно. так ли оно на деле? может научится не так сложно? 2) может какие-то сложности в дальнейшем админстве системы? например при gentoo для меня стал udev, при установке системы его нахуй надо сносить и ставить что-то другое, иначе kernel panic при обновлении. плюс прочая поебень, например для меня подружить иксы с гибридной графикой оказалось чуть ли не сложнее, чем установка самой системы.
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:22 pm
(Link)
мне довольно сложно на это ответить, потому что я никогда не делал «для дома, для семьи». когда я впервые ставил слаку — страшно было абсолютно везде, и наличие зависимостей в других системах помогало мало. оно, собственно, никогда не помогает ничему кроме засирания системы непонятным говном.

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

то есть, можно просто сделать full install — и слака заведётся, но это плохой путь, и ты рано или поздно захочешь чего-то странного, и всё равно придётся учиться.

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

в общем, если у тебя дофига времени и желания реально разбираться, как оно всё устроено — иди в слаку. наебёшься, но потом будет rock solid. если у тебя кроме этого ещё какая-то жизнь есть — подумай о более «дружественных» дистрибутивах лучше. они обычно не хуже, зато комьюнити больше, рецепты есть, и софта напакетировали дохера.
From:(Anonymous)
Date:January 14th, 2022 - 04:03 pm
(Link)
спасибо за ответ
From:(Anonymous)
Date:January 14th, 2022 - 04:15 pm
(Link)
>если у тебя кроме этого ещё какая-то жизнь есть — подумай о более «дружественных» дистрибутивах лучше. они обычно не хуже, зато комьюнити больше, рецепты есть, и софта напакетировали дохера.

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

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

/другой анон
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 04:51 pm
(Link)
>фулл инстолл на слаке для юзера в этом смысле бесполезен - система загружается, а
>запустить всё равно нечего, кроме броузера и почты.

да, ты прав. я примерно это и имел в виду, но написал очень всрато. спасибо за расшифровку.

>слака, на железе и в виртуалке, оба варианта без гуя. работать в слаке нельзя,
>нужно тратить овер дохуя времени на то, чтобы конпелять и собирать
>(предварительно разобравшись, как именно)

ну, потом можно. но это как раз вариант «другой жизни нет». есть, тащемта, sbopkg, например, там дофига софта. но в целом ты прав.
From:(Anonymous)
Date:January 16th, 2022 - 09:14 am
(Link)
>sbopkg

попросту не работает; специально установил slackware 14.2, чтобы попробовать sbopkg. сам скрипт запускается, но генерация очередей для сборки пакетов с зависимостями не работает. без этого sbopkg совершенно бесполезен.

очень жаль.
[User Picture]
From:[info]ketmar
Date:January 16th, 2022 - 12:41 pm
(Link)
напиши им репорт, что ли. я довольно давно пользовался пару раз «на посмотреть», у меня работал.
From:(Anonymous)
Date:January 16th, 2022 - 06:32 pm
(Link)
переустановил слаку и sbopkg заработал. осталось непонятно, почему не работал раньше.

проблема в том, что на свежеустановленной 14.2 слаке вообще ничего не работает - нужно обновлять ca-certificates (скачивать их нужно отдельно, потому что https в консоли без них не работает), а уже после этого обновлять софт и тогда запускать sbopkg. с первого раза не пошло почему-то; но я понатыкался в разные места, пока допер, что делать нужно. может поломал чего? при том, что я ничего не редактировал, просто запускал и созерцал сообщения об ошибках ssl сертификатов, о недоступности gpg ключей.

преисполнен надежд!
[User Picture]
From:[info]ketmar
Date:January 16th, 2022 - 06:34 pm
(Link)
про сертификаты вот ваще не знаю, потому что везде стоит опция: «завали нахуй ебало и нихуя не проверяй».
From:(Anonymous)
Date:January 16th, 2022 - 08:38 pm
(Link)
а эту опцию где нужно устанавливать, чтобы она действовала на всю систему? sbopkg это же портянка на шелле, она наверняка вызывает wget, git и прочий ад и израиль, всё со своими опциями.

ЩЬП 127327 байт на шелле
[User Picture]
From:[info]ketmar
Date:January 16th, 2022 - 09:59 pm
(Link)
нет, это везде отдельно ручками вписывать. но я упорный.
[User Picture]
From:[info]ketmar
Date:January 16th, 2022 - 10:00 pm
(Link)
p.s.: тащемта, у многих штук (у гита, вгета, и ты пы) есть глобальные файлы опций, где это можно прописать. но я уже не помню, что где и как: ты в поисковике нароешь примерно с той же скоростью, что и я — если не быстрее.
From:(Anonymous)
Date:January 17th, 2022 - 07:59 am
(Link)
>у многих штук (у гита, вгета, и ты пы) есть глобальные файлы опций, где это можно прописать.

ага, спасибо, нашел: в man wget написано, что у wget есть юзерский ~/.wgetrc и system-wide /etc/wgetrc. у остальных, видимо, примерно так же.

поскольку обновление ca-cerfficates доступно и действует на всех, установить его на данный момент - более простое решение.
[User Picture]
From:[info]ketmar
Date:January 17th, 2022 - 03:49 pm
(Link)
я просто идеологически срал и ссал на эти проверки, поэтому и говорю: «принимай любую хуйню, молча».
[User Picture]
From:[info]ketmar
Date:January 17th, 2022 - 03:51 pm
(Link)
вообще, кстати, можешь перейти на current, я долгое время на карренте сидел. там постоянно чего-то обновляют, и довольно редко ломают.
From:(Anonymous)
Date:January 18th, 2022 - 09:35 am
(Link)
14.2 уже стоит, и мне без разницы, 14.2 или -current. усилия на сборку нужного мне софта, вероятнее всего, не окупаются в любом случае.
[User Picture]
From:[info]ketmar
Date:January 18th, 2022 - 04:37 pm
(Link)
ну, моё дело упомянуть и предложить.
From:(Anonymous)
Date:January 18th, 2022 - 09:49 am
(Link)
даже если всё соберу, то нужно ещё будет соображать, как переносить собранный софт (дерево sbopkg c исходниками и собранными пакаджами) из тестовой вируталки на рабочую. у меня там всё через жопу; может, например, места не хватить (лол).
From:(Anonymous)
Date:January 18th, 2022 - 10:46 am
(Link)
вот, завершил сборку одной очереди. нереально много времени всё отнимает.

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

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

такие дела.
[User Picture]
From:[info]ketmar
Date:January 18th, 2022 - 04:41 pm
(Link)
но sbopkg — это не Ъ, конечно. попса, фу, ненастоящий шотландец. ебаться надо вдумчиво, размерено, каждый раз всё делая ручками. иначе ачивку: «я ебанутый и у меня нет жизни два раза» не дадут.

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

но, конечно, это на любителя. то есть, в слаку и идут, чтобы качественно поебаться, тащемта, так зачем эти паллиативы в виде sbo? ;-)
[User Picture]
From:[info]ketmar
Date:January 18th, 2022 - 04:41 pm
(Link)
p.s.: я шучу так, понятно. ну, частично шучу.
From:(Anonymous)
Date:January 16th, 2022 - 12:43 pm
(Link)
P.S. то есть оно наверное так и должно (не) работать, но зачем оно в таком виде кому-то могло понадобиться - загадка природы. скачать исходники и слакбилд можно и руками. во многих случаях всё равно может потребоваться читать и исправлять слакбилд скрипт и т.п.
From:(Anonymous)
Date:January 14th, 2022 - 05:09 pm
(Link)
>линукс для юзера это минт или дебиан

к сожалению sistemd что там, что там. пересаживаться на линукс и сидеть на убунте/rpm-дистре под кедами/гнумом - такое себе, я уже пробовал, особенной разницы с виндой не заметил, разве что нужно иногда больше телодвижений, чтобы заработало. поэтому и хочу пересесть по человечески пока есть свободное время, а без sistemd и прочего говна осталась слака и генту (ну и их форки, плюс Void и Devuan о которых я знаю ровно ноль). слака меня привлекла обманчивой простой, я достаточно ленивый человек и сидеть на старом софте меня более чем устраивает, но таки да твои аргументы и аргументы кетмаря убедили, что лучше доучивать gentoo. спасибо вам обоим.

/первоначальный анон
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 05:14 pm
(Link)
воид — это вроде был раньше была такая слака, которая сразу накатывает кучу пакетов. те же яйца, другой обзор. но это давно было.

успехов с гентой (это без сарказма).
From:(Anonymous)
Date:January 15th, 2022 - 08:06 am
(Link)
также желаю без сарказма.

PS посмотрел инстолл гайд а генту хендбуке, ужос, конпиляние начинается прямо в процессе установки.
From:(Anonymous)
Date:January 15th, 2022 - 08:06 am
(Link)
/другой анон
From:(Anonymous)
Date:January 14th, 2022 - 10:42 pm
(Link)
Наличие/отсутствие systemd юзеру, которому «попробовать» — абсолютно похую. Так же, как заморочки с pulse и прочий пердолинг.
From:(Anonymous)
Date:January 15th, 2022 - 08:05 am
(Link)
>Наличие/отсутствие systemd юзеру, которому «попробовать» — абсолютно похую

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

но человек имеет право хотеть странного. я вот, например, изучаю gmt, generic mapping tools, консольную GIS, вместо того, чтобы сесть за гуевую вроде ArcGIS, GRASS и т.п. то есть в линуксе я юзер, мне от линукса нужно, чтобы нормально запускался gmt и related софт, я не хочу странного в смысле разбираться в системе и конпелять (там овер дохуя компонентов - как прямых зависимостей, так и другого софта, нужного для рациональной организации воркфлоу). то есть своего странного, консольную GIS, я хочу, и на это имею полное право.

/другой анон
From:(Anonymous)
Date:January 15th, 2022 - 01:42 pm
(Link)
анон, бери ту систему, которой пользуется твой ближайший *nix гуру, хоть генту, хоть чорта с вилами.

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

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

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

//вообщехренсгоры
[User Picture]
From:[info]ketmar
Date:January 15th, 2022 - 02:11 pm
(Link)
кстати, вот этот анон ваще дело говорит.
From:(Anonymous)
Date:January 14th, 2022 - 03:05 pm

WONTFIX

(Link)
https://lore.kernel.org/netdev/CAADnVQLF_tmNmNk+H+jP1Ubmw-MBhG1FevFmtZY6yw5xk2314g@mail.gmail.com/
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:10 pm

Re: WONTFIX

(Link)
абсолютно нормальный ответ. к сожалению, дебилы скорее всего победят. алекс там делает над собой титанические усилия, чтобы не послать дегенерата нахуй со старта. уважаю.
From:(Anonymous)
Date:January 14th, 2022 - 05:40 pm

Re: WONTFIX

(Link)
> ряяяяя не трогайте наше решето!
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 05:51 pm

Re: WONTFIX

(Link)
следующим комментарием ты пишешь внятное обоснование почему «решето», или идёшь нахуй.
From:(Anonymous)
Date:January 14th, 2022 - 03:07 pm
(Link)
А как искать по этой хуйне регекспами?
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:13 pm
(Link)
тебе об этом в там, где ты учился, не рассказывали, видимо, но рекэкспы — это не Божественное Откровение, а обычный автомат. который можно использовать в режиме стриминга, скармливая ему по символу за раз, без бэктрэка. и нет, то, что требует бэктрэка — это НЕ регулярные выражения. и у них всегда будут патологические случаи экспоненциальной сложности. у регулярных выражений такого быть не может, потому что не может быть никогда, алгоритм не позволяет.
From:(Anonymous)
Date:January 14th, 2022 - 05:36 pm
(Link)
расскажи это regex.h
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 05:52 pm
(Link)
я искренне сочувствую, что тебя в твоём пту не учили, как самому сделать движок регулярок. но за границами твоего пту это не является тайным знанием, доступным только посвящённым.
[User Picture]
From:[info]dece
Date:January 14th, 2022 - 03:15 pm
(Link)
>загрузка двух гигабайт текста занимает около секунды

Мощща!
Чудо, практически.
Тащьта, в прыщах вообще традиционно с редакторами швах: была подвижка в виде Leafpad, да вся вышла — видимо, все ее авторы, по мере возмужания, ушли в emacs ггг
[User Picture]
From:[info]ketmar
Date:January 14th, 2022 - 03:28 pm
(Link)
да везде почти так, на самом деле. а у меня есть недостаток: я люблю быстрый софт. причём гарантировано быстрый не только на микротестах, но и когда ему кормишь какие-то огромные данные, которые реально никто никогда кормить не будет. поэтому у меня куча всего самописного — терминал, im-клиенты, почтовик, irc-клиент, etc. почти всё, чем регулярно пользуюсь — или почищеный форк, или самопис с нуля.

я бы тоже в emacs ушёл, но есть две проблемы. во-первых, там совершенно уебанские кейбинды, сделаные для клешнеруких марсианцев. а во-вторых, чтобы это всё переделать — придётся въебать усилий не намного меньше, чем чтобы сделать свой редактор с нуля. но при этом делать свой редактор, очевидно, интересней. ;-)

есть ещё qemacs от Фабриса нашего Белларда, маленький и ОХУИТЕЛЬНО быстрый (потому что Фабрис Беллард), который на этом тесте как минимум такой же быстрый, как и мой. он даже полностью настраиваемый, и раскраски там сделаны через обычный css, а не через жопу, как у большого emacs. но… нихатет. хатет своё.
From:(Anonymous)
Date:January 15th, 2022 - 10:12 pm
(Link)
но ведь у тебя рабочий текстовый редактор уже и так был самописный. чем не устраивал?

/ЧД/
[User Picture]
From:[info]ketmar
Date:January 15th, 2022 - 11:38 pm
(Link)
тем, что хуёво написан.