RSS
Pages: 1 ... 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
[>] Re: Редактор acme: пишем почтовый клиент
std.hugeping
hugeping(ping,1) — hugeping
2023-05-24 11:32:15


Давно хотел переписать свой клиент на Go или на Python. И всё-таки переписал: https://github.com/hugeping/plan9hacks/blob/master/linux/mu-query.py

Код у него почище, чем грязная реализация на Lua и его можно понять. ;)

Интересно, что не смотря на то, что python реализация на ~250 строк меньше, по объёму исходников оба скрипта очень близки. И это не смотря на выразительность Python и тот факт, что в Lua варианте пришлось многие функции писать самому...

Прошло уже довольно много времени, а я всё-так же пользуюсь для работы с почтой acme + mu + mbsync + msmtp. Кстати, в апстрим mbsync уже всё хорошо с UTF-8, так что патчить его больше не надо.

https://club.hugeping.ru/lib/uploads/mu-query.png

[>] Re: Редактор acme: пишем почтовый клиент
std.hugeping
vvs(ping,12) — hugeping
2023-05-24 15:31:09


hugeping> Код у него почище, чем грязная реализация на Lua и его можно понять. ;)

hugeping> Интересно, что не смотря на то, что python реализация на ~250 строк меньше, по объёму исходников оба скрипта очень близки. И это не смотря на выразительность Python и тот факт, что в Lua варианте пришлось многие функции писать самому...

У людей бывает очень разное понятие "выразительности", смотря о каком уровне абстракции идёт речь. Вот этот пример сортировки пузырьком на языке Wolfram мне представляется очень выразительным:
sortRule := {x___,y_,z_,k___} /; y>z -> {x,z,y,k}
{ 9, 5, 3, 1, 2, 4 } //. sortRule
(* = {1, 2, 3, 4, 5, 9} *)

Является ли выразительным машинный код? А FRACTRAN Конвея? А теория множеств?

P.S. Это я не для того чтобы кому-то возразить, а просто предлагаю посмотреть на красоту языка с разных сторон :) И кстати есть ведь ещё разница между синтаксисом и собственно семантикой. Как насчёт лиспа?

[>] Re: Редактор acme: пишем почтовый клиент
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2023-05-25 08:23:46


hugeping> Давно хотел переписать свой клиент на Go или на Python. И всё-таки переписал: https://github.com/hugeping/plan9hacks/blob/master/linux/mu-query.py
hugeping> Код у него почище, чем грязная реализация на Lua и его можно понять. ;)
hugeping> Интересно, что не смотря на то, что python реализация на ~250 строк меньше, по объёму исходников оба скрипта очень близки. И это не смотря на выразительность Python и тот факт, что в Lua варианте пришлось многие функции писать самому...

Тоже заметил, что вроде на пайтоне и меньше строк, но объём кода на тех же задачах примерно тот же выходит. Правда я с Go сравнивал :)

+++ Caesium/0.4 RC1

[>] Re: Редактор acme: пишем почтовый клиент
std.hugeping
hugeping(ping,1) — vvs
2023-05-27 22:03:16


vvs> У людей бывает очень разное понятие "выразительности", смотря о каком уровне абстракции идёт речь.

Согласен. Я это скорее в ироничной форме сказал. В том смысле, что в одну строку питона можно упихать кучу разных вещей. :)

[>] Re: Редактор acme: пишем почтовый клиент
std.hugeping
vvs(ping,12) — hugeping
2023-05-27 22:31:48


Кому хочется впихнуть как можно больше, могут взглянуть на "Hello, world" в ELF всего 114 байт (это я знаю достаточно давно). А вот сегодня встретил компиляторы с Forth, Lisp и C всего 512 байт!

https://github.com/cesarblum/sectorforth
https://github.com/jart/sectorlisp
https://github.com/xorvoid/sectorc

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Andrew Lobanov
2023-05-29 21:45:29


AL> Красивый текст. Только когда абстракция становится настолько абстрактной, что теряет смысл, она перестаёт работать. Очень важно чувствовать эту грань. Также важно, пользуясь абстракцией, не забывать, что если абстрагировался, то не надо заменять общей абстракцией частный конкретный случай (привет, компьютер == ПК).

Ты явно не понял, что сказал. Смысл не может быть для всех один. Для тебя здесь нет смысла, а я вижу глубокий смысл. Разговор зашёл в тупик, потому что мы всё время говорим на разных языках. Какое-то время я верил, что ты меня просто не понимаешь, но потом пришёл к выводу, что тебя такое мнение просто не интересует. Ну и ладно.

AL> Короче говоря, если бы ты сам следовал тому, что ты пишешь, было бы гораздо проще с тобой общаться :)

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

[>] Re: Координата Z // Захар Прилепин
std.hugeping.micro
vvs(ping,12) — hugeping
2023-06-03 19:34:37


Прилепин только что опубликовал статью "Несушка с железным клювом" и у меня сразу возникли мысли по этому поводу. За неимением самого Захара оставлю их здесь.

В этой статье Прилепин размышляет о том, почему распался СССР и приходит к выводу, что мы все себе просто "надоели". Вот с этим я никак не могу согласиться. Помню, что ощущение какой-то скуки действительно присутствовало в период так называемого "застоя". Однако у меня другое мнение, почему это было именно так.

Мне представляется, что Хрущёв, развенчивая культ личности Сталина этим не ограничился, а объявил о том, что бороться нам практически уже не за что. Коммунизм уже не за горами (1980), а у нас уже "развитой" социализм. Не желая останавливаться на сомнительности этого утверждения, хочу лишь обратить внимание, что оно лишило всех осмысленной цели. Чего ещё надо добиваться дальше если у нас и так уже всё достаточно хорошо? У людей неизбежно возникало ощущение собственной ненужности, невостребованности. Это вело их к поиску каких-то других, личных целей, например материального благополучия. Вместе с противоречием заявленных успехов - реальным, это ещё и создало ощущение лицемерия и пустоты жизни. Это не мы себе почему-то надоели, а наступил первый (?) "конец истории".

Тут важно представлять значимость собственной роли каждого члена общества, а не некой безликой массы "народа". Когда уже есть всё готовое, это лишает инициативы. Мне, например, не важно, чего именно не хватает кому-то для "полного счстья", а важно, что именно я умею и понимаю сам. Это меня мотивирует добиваться чего-то нового в моей жизни, задаёт перспективу на будущее, даёт шкалу для сравнения. Думаю, что это красочнее сформулировал Г.Данелия: "Нет, генацвале! Когда у общества нет цветовой дифференциации штанов, то нет цели! А когда нет цели…" :)

[>] Re: Солярисы
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2023-06-05 13:33:10


AL>> Красивый текст. Только когда абстракция становится настолько абстрактной, что теряет смысл, она перестаёт работать. Очень важно чувствовать эту грань. Также важно, пользуясь абстракцией, не забывать, что если абстрагировался, то не надо заменять общей абстракцией частный конкретный случай (привет, компьютер == ПК).
vvs> Ты явно не понял, что сказал. Смысл не может быть для всех один. Для тебя здесь нет смысла, а я вижу глубокий смысл. Разговор зашёл в тупик, потому что мы всё время говорим на разных языках. Какое-то время я верил, что ты меня просто не понимаешь, но потом пришёл к выводу, что тебя такое мнение просто не интересует. Ну и ладно.

Ты явно отвечаешь не на то, что я пишу. Я всего лишь сказал, что количество возможных трактовок обратно пропорционально смысловой нагрузке. Для коммуникации вредно наращивать многозначность своих слов. Хотя, если говорить не для того, чтобы тебя поняли, то можно и так.

AL>> Короче говоря, если бы ты сам следовал тому, что ты пишешь, было бы гораздо проще с тобой общаться :)
vvs> У меня никогда не было цели просто пообщаться.

То есть у тебя была цель общаться сложно? Тогда да - превращение трактовки твоих слов в угадайку отличная политика.

vvs> Я надеюсь услышать что-нибудь интересное для себя. Если же у нас не находится общих интересов и мы во всём придерживаемся противоположных взглядов, то такое общение неизбежно заходит в тупик.

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

Ну, раз общение это не то, что ты хочешь тут делать, то я не стану мешать тебе заниматься своими делами. Просто IDEC задумывался именно для общения, поэтому я и ориентируюсь тут на него :)

+++ Caesium/0.4 RC1

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Andrew Lobanov
2023-06-05 18:28:01


AL> Ты явно отвечаешь не на то, что я пишу. Я всего лишь сказал, что количество возможных трактовок обратно пропорционально смысловой нагрузке. Для коммуникации вредно наращивать многозначность своих слов. Хотя, если говорить не для того, чтобы тебя поняли, то можно и так.

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

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

Ну вот сам подумай, во что превратится, например, обсуждение понятия числа вообще, если мы его сведём только к первым трем натуральным числам? Оно, конечно, так проще, но зачем и кому тогда это нужно?

vvs>> У меня никогда не было цели просто пообщаться.

AL> То есть у тебя была цель общаться сложно? Тогда да - превращение трактовки твоих слов в угадайку отличная политика.

Нет, это ты просто играешь в слова. Здесь слово "просто" означает не отсутствие сложности, а это синоним слова "только", "с единственной целью". И это не моё злонамеренное желание всех запутать, а такое свойство языка: подавляющее большинство слов имеет много значений, понятных только из контекста. Я не виноват, что ты выбираешь только одно то значение, о котором я даже не думал. Разумеется, сводить весь язык только к нескольким простым понятиям я не вижу смысла. Мы же не в детском садике.

vvs>> Я надеюсь услышать что-нибудь интересное для себя. Если же у нас не находится общих интересов и мы во всём придерживаемся противоположных взглядов, то такое общение неизбежно заходит в тупик.

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

Опять двадцать пять. С моей точки зрения тема уже известна. Я пытался её максимально прояснить, но тебе и этого всегда мало. Ну извини, объясняю, как умею. И я никого ни в чём не виню, а просто сообщаю, что без конца оправдываться, что я не верблюд, мне не интересно. Не для этого я сюда пришёл.

AL> Ну, раз общение это не то, что ты хочешь тут делать, то я не стану мешать тебе заниматься своими делами. Просто IDEC задумывался именно для общения, поэтому я и ориентируюсь тут на него :)

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

Кстати, есть такое расхожее выражение: "поставить себя на чужое место". Наши бесконечные препирательства по совершенно тривиальным вопросам демонстрируют, что лезть в чужую голову - занятие неблагодарное и отнимающее слишком много времени. И я не нахожу в таком "общении" никакого удовольствия.

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — vvs
2023-06-05 18:45:08


Кстати, напомнило, как много лет назад мы всем отделом доказывали нашему начальнику, что так делать нельзя, а он упрямо твердил, что у нас просто остутствует желание. В итоге мы сделали, как он хотел и получилось "как всегда". Однако его реакция была легендарной: "всё равно вы виноваты - не убедили". "У сильного всегда бессильный виноват" И.Крылов :)

[>] Re: Солярисы
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2023-06-06 13:50:44


AL>> Ты явно отвечаешь не на то, что я пишу. Я всего лишь сказал, что количество возможных трактовок обратно пропорционально смысловой нагрузке. Для коммуникации вредно наращивать многозначность своих слов. Хотя, если говорить не для того, чтобы тебя поняли, то можно и так.
vvs> Это и есть сказка про белого бычка. Откуда мне знать, какой смысл ты вкладываешь в мои слова? Я знаю только то, что я сам имею в виду. С таким же успехом и я могу утверждать, что ты не очень-то старался меня понять, но виноват, почему-то, только я.

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

vvs> Если же ты хочешь сказать, что любое абстрактое понятие по определению допускает более одной трактовки, а это совсем не то, что ты хочешь услышать, то извини. Но это именно то, что мне как раз интересно обсуждать. И сводить ёмкое понятие к какой-то одной специальной трактовке - это противоречит самой идее такого обсуждения.
vvs> Ну вот сам подумай, во что превратится, например, обсуждение понятия числа вообще, если мы его сведём только к первым трем натуральным числам? Оно, конечно, так проще, но зачем и кому тогда это нужно?

А не надо сводить к трём числам. Я как раз максимально расширял понятие компьютера, а не сужал его до одного только ПК.

vvs>>> У меня никогда не было цели просто пообщаться.
AL>> То есть у тебя была цель общаться сложно? Тогда да - превращение трактовки твоих слов в угадайку отличная политика.
vvs> Нет, это ты просто играешь в слова. Здесь слово "просто" означает не отсутствие сложности, а это синоним слова "только", "с единственной целью". И это не моё злонамеренное желание всех запутать, а такое свойство языка: подавляющее большинство слов имеет много значений, понятных только из контекста. Я не виноват, что ты выбираешь только одно то значение, о котором я даже не думал. Разумеется, сводить весь язык только к нескольким простым понятиям я не вижу смысла. Мы же не в детском садике.

То есть у тебя не было цели общаться. На площадке для общения. Ты странный.

vvs>>> Я надеюсь услышать что-нибудь интересное для себя. Если же у нас не находится общих интересов и мы во всём придерживаемся противоположных взглядов, то такое общение неизбежно заходит в тупик.
AL>> Если ты надеешься услышать что-нибудь интересное для себя, то неплохо было бы хотя бы однозначно обозначить тему. А то получается, что тебя поняли не так, как ты хотел, тебе ответили, виноват не ты. Хотя при прочтении твоих сообщений очень многие трактовки получаются совершенно равнозначны, если не знать, что происходит у тебя в голове.
vvs> Опять двадцать пять. С моей точки зрения тема уже известна. Я пытался её максимально прояснить, но тебе и этого всегда мало. Ну извини, объясняю, как умею. И я никого ни в чём не виню, а просто сообщаю, что без конца оправдываться, что я не верблюд, мне не интересно. Не для этого я сюда пришёл.

Ты не пытался её максимально прояснить. Ты пытался её максимально запутать.

AL>> Ну, раз общение это не то, что ты хочешь тут делать, то я не стану мешать тебе заниматься своими делами. Просто IDEC задумывался именно для общения, поэтому я и ориентируюсь тут на него :)
vvs> Это всё хорошо, но это только лично твоё понимание "общения". Я-то понимаю его иначе. Сколько людей - столько и мнений. Я не против пояснить свою точку зрения, пока это не превращается в замкнутый круг.

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

vvs> Кстати, есть такое расхожее выражение: "поставить себя на чужое место". Наши бесконечные препирательства по совершенно тривиальным вопросам демонстрируют, что лезть в чужую голову - занятие неблагодарное и отнимающее слишком много времени. И я не нахожу в таком "общении" никакого удовольствия.

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

+++ Caesium/0.4 RC1

[>] Re: Солярисы
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2023-06-06 13:50:44


vvs> Кстати, напомнило, как много лет назад мы всем отделом доказывали нашему начальнику, что так делать нельзя, а он упрямо твердил, что у нас просто остутствует желание. В итоге мы сделали, как он хотел и получилось "как всегда". Однако его реакция была легендарной: "всё равно вы виноваты - не убедили". "У сильного всегда бессильный виноват" И.Крылов :)

Вот да. Ты мне напоминаешь моих бывших уже начальников. Они тоже не давали никакой конкретики -- это давало им пространство для манёвра при нахождении крайних.

+++ Caesium/0.4 RC1

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Andrew Lobanov
2023-06-06 15:30:35


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

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

AL> А не надо сводить к трём числам. Я как раз максимально расширял понятие компьютера, а не сужал его до одного только ПК.

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

vvs>> Нет, это ты просто играешь в слова. Здесь слово "просто" означает не отсутствие сложности, а это синоним слова "только", "с единственной целью". И это не моё злонамеренное желание всех запутать, а такое свойство языка: подавляющее большинство слов имеет много значений, понятных только из контекста. Я не виноват, что ты выбираешь только одно то значение, о котором я даже не думал. Разумеется, сводить весь язык только к нескольким простым понятиям я не вижу смысла. Мы же не в детском садике.

AL> То есть у тебя не было цели общаться. На площадке для общения. Ты странный.

Нет. Это твоё определение общения, а не моё. Я общаюсь не так, как ты. А представлять, что все должны думать только так, как тебе привычно в собственном кругу - это, действительно, странно.

Кстати, слово "группа" алгебраист понимает по-своему, рок музыкант имеет совсем другое представление, а у врача будет иное мнение. Объяснять каждое своё слово в совершенно иной среде не у каждого найдутся силы и желание. А у нас явно слишком разные интересы, возраст и окружение.

vvs>> Опять двадцать пять. С моей точки зрения тема уже известна. Я пытался её максимально прояснить, но тебе и этого всегда мало. Ну извини, объясняю, как умею. И я никого ни в чём не виню, а просто сообщаю, что без конца оправдываться, что я не верблюд, мне не интересно. Не для этого я сюда пришёл.

AL> Ты не пытался её максимально прояснить. Ты пытался её максимально запутать.

Нет. Тебе так только кажется, но это не означает, что всё так и есть на самом деле. Это тебе просто хочется так думать из упрямства.

vvs>> Это всё хорошо, но это только лично твоё понимание "общения". Я-то понимаю его иначе. Сколько людей - столько и мнений. Я не против пояснить свою точку зрения, пока это не превращается в замкнутый круг.

AL> Для меня общение - это в первую очередь обсуждение. Но для того, чтобы что-либо обсуждать, нужно определиться что же именно мы обсуждаем. И вот тут то и возникает проблема. Но если ты не ставишь целью помочь собеседнику понять тебя, то чем общение отличается от перекидывания случайными репликами?

Если ты чего-то не понял, то это не значит, что я не пытался тебе это объяснить. Это лишь означает, что попытка оказалась неудачной. Но из этого не следует, что я не пытался. Ну, тебе опять кажется, что я сделал недостаточно. А у меня другое мнение.

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

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

Кстати, а если я тебе дам текст на незнакомом языке, то ты тоже будешь возмущаться? Или начнёшь его учить, чтобы понять? Ты, наверное, скажешь, что там специально всё запутали, чтобы было максимально не похоже на русский язык? :)

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

AL> Вот да. Ты мне напоминаешь моих бывших уже начальников. Они тоже не давали никакой конкретики -- это давало им пространство для манёвра при нахождении крайних.

Нет. Я не ищу крайних. Если уж на то пошло, то мне кажется, что это ты делаешь из меня крайнего. Это говорит лишь о том, что мы всё воспринимаем по-разному. Да, это максимально затрудняет понимание. Но это не чей-то злой умысел, а так объективно складываются обстоятельства.

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Andrew Lobanov
2023-06-06 19:37:21


AL> А не надо сводить к трём числам. Я как раз максимально расширял понятие компьютера, а не сужал его до одного только ПК.

AL> Ты не пытался её максимально прояснить. Ты пытался её максимально запутать.

AL> Для меня общение - это в первую очередь обсуждение. Но для того, чтобы что-либо обсуждать, нужно определиться что же именно мы обсуждаем. И вот тут то и возникает проблема. Но если ты не ставишь целью помочь собеседнику понять тебя, то чем общение отличается от перекидывания случайными репликами?

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

Мне кажется, ты путаешь неформальное общение с философской конференцией. Для общения достаточно неформального утверждения, которое всем представляется очевидным. Если же на самом деле это не так, то возникает большая проблема. Надо формально выяснять, что на самом деле имеется в виду под 64-битным компьютером? То ли это ILP32LL, а может LP64 либо LLP64, а может ещё что-то другое? Не говоря уже о том, что тут имеется в виду под самим "компьютером"? Это ПК или мэйнфрейм, а может смартфон или контроллер, а может это машина Тьюринга? В итоге всё становится каким-то бессмысленным и туманным. И это не я его таким сделал, а твоё упрямое желание обязательно докопаться до самой сути.

Если утверждение не кажется очевидным, то, боюсь, что попытки дальше разложить его на части для анализа ничего не прояснят, а только всё запутают. И это не моя вина, а так устроен этот мир. Это всё та же самая старая философская дискуссия о противоречиях между редукционизмом и холизмом. А оно кому-то здесь нужно? Горгий вот так и говорил: «Ничего не существует; но даже если нечто существует, то оно не познаваемо; но даже если и познаваемо — то необъяснимо для другого». Ну, по крайней мере я так всё это вижу, как агностик :)

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Andrew Lobanov
2023-06-06 19:57:11


AL> Ты не пытался её максимально прояснить. Ты пытался её максимально запутать.

По поводу общения и философии.

Анекдот:

Приехал в деревню философ. Его дед встречает и спрашивает, ты кто такой? — Я философ. А чем занимаешься? — Диалектикой. Что такое диалектика? — Ну, дед, что ты спрашиваешь? Нет, говорит дед, мы люди образованные, в школе занимались, книги читаем, телевизор смотрим, радио слушаем, а ты как образованный человек должен нам объяснить. Ты зачем образование получал? — Ну ладно, говорит философ, объясню. Вот баня есть у вас в деревне? Есть, и мужское, и женское отделения. — Хорошо. Вот идем мы с тобой в баню, ты грязный, я чистый. Кому надо мыться? Дед говорит: «Ну, ясно, я грязный, мне надо мыться». — Нет, дед. Я чистый, мне чистоту поддерживать надо, а ты все равно грязный, чего тебе мыться? Понял дед? Дед говорит: «Сильная у вас диалектика. Понял, чего тут не понять». — Так вот это — тезис, запомни, дед. Но это, дед, не все, идем мы с тобой второй раз в баню, ты — грязный, я — чистый. Кому мыться? «Да понял я вашу диалектику, — говорит дед, — Ты чистый, тебе чистоту поддерживать надо, тебе надо мыться, а мне чего мыться, я грязный». — Нет, дед, что ты мелешь? Посмотри на себя, ты же грязный. Тебе надо мыться, а мне-то чего мыться, я чистый. Понял дед? «Понял». — Вот это, дед, антитезис. Но это не все, дед. Третий раз мы идем с тобой в баню. Ты грязный, я чистый. Кому мыться? Дед говорит: «Ничего не понимаю». Вот, дед, это и есть диалектика — синтезис.

Тоже слыхал от М.В.Попова у Д.Пучкова "Гоблина" на разведопросе.

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — vvs
2023-06-13 03:49:11


vvs> Для общения достаточно неформального утверждения, которое всем представляется очевидным. Если же на самом деле это не так, то возникает большая проблема. Надо формально выяснять, что на самом деле имеется в виду под 64-битным компьютером? То ли это ILP32LL, а может LP64 либо LLP64, а может ещё что-то другое? Не говоря уже о том, что тут имеется в виду под самим "компьютером"? Это ПК или мэйнфрейм, а может смартфон или контроллер, а может это машина Тьюринга? В итоге всё становится каким-то бессмысленным и туманным.

И, кстати, самое интересное начинается, когда возникает вопрос о том, что понимать под "эффективностью"? Что лучше: иметь сто рук или уметь хорошо пользоваться только двумя? Вопрос далеко не праздный, поскольку количественное увеличение разрядности ещё не означает автоматическое увеличение производительности. Например, чем плотнее код, тем лучше он кэшируется и тем быстрее работает. Поэтому, например, ARM имеет thumb mode. И поэтому же уже упомянутые мной компиляторы удалось вместить в 512 байт, а попробуйте сделать то же с 64-битным кодом.

Отсюда интересная аналогия с ретрокомпьютингом. Что считать более эффективным: когда кто-то написал компилятор, работающий на крошечном 8-битном кнтроллере или такой же компилятор для 64-битного сервера? Ответы на эти вопросы могут быть разными для разных людей и их очевидность не будет для них совпадать. Как же тогда эти люди могут понять друг друга? По крайней мере такое понимание не может быть простым.

Кстати, размер кода является является одной из мер сложности (колмогоровской сложности) алгоритма. Разумеется, существуют разные модели для такой меры, например двоичная комбинаторная логика или даже FRACTRAN, но они не могут считаться практичными. Но, вообще, сойдет и компилятор с Си или Лиспа. С этой точки зрения Форт, Лисп, Бейсик и Си - одни из самых простых практичных формальных языков. И что считать более эффективным: простой или сложный алгоритм? Является ли ответ на этот вопрос очевидным и однозначным? Кто-то тут ранее очень много говорил о сложности? ;)

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — vvs
2023-06-14 16:10:59


vvs> Если утверждение не кажется очевидным, то, боюсь, что попытки дальше разложить его на части для анализа ничего не прояснят, а только всё запутают. И это не моя вина, а так устроен этот мир. Это всё та же самая старая философская дискуссия о противоречиях между редукционизмом и холизмом.

До меня вдруг дошло, что я сам в своё время стал жертвой такого же заблуждения :)

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

Другая проблема с редукционистским подходом - это экспоненциальный рост предложений языка. В итоге конструкции вроде 2+2=4 могут превратиться буквально в миллиарды более примитивных логических высказываний. Чтобы этого избежать как раз и приходиться прибегать к абстракции и созданию очень сложных синтетических понятий. Но такие понятия требуется предварительно изучать и воспринимать в контексте.

Именно поэтому начинающему нужен совсем другой подход - неформальный. Для формирования интуитивного понимания понятий незнакомого языка применяется пропедевтика, т.е. по сути упрощение и искажение истинного смысла с помощью аналогий. Как говорят некоторые преподаватели: мы будем вас обманывать для простоты :) Понимание приходит только постепенно, шаг за шагом, а только потом уже приходит озарение. А иначе такой незнакомый язык выглядит, как непроницаемый туман: вроде отдельные слова имеют смысл, а всё в целом - просто бессмысленный набор слов. Я сам был в такой ситуации в прошлом, но уже подзабылось :) О философских проблемах перевода написаны горы серьёзной теоретической литературы, а мы тут просто валяем дурака :)

[>] Re: Солярисы
std.hugeping
Reprise(tavern,18) — vvs
2023-06-16 06:15:19


vvs>> Если утверждение не кажется очевидным, то, боюсь, что попытки дальше разложить его на части для анализа ничего не прояснят, а только всё запутают. И это не моя вина, а так устроен этот мир. Это всё та же самая старая философская дискуссия о противоречиях между редукционизмом и холизмом.
vvs> До меня вдруг дошло, что я сам в своё время стал жертвой такого же заблуждения :)
vvs> Когда я только начинал изучать абстрактную математику, я воображал, что формализация теорем поможет мне их лучше понять. Для этого я начал изучать математическую логику и формальные языки. Теперь, задним числом, я знаю, почему это никак не могло дать нужного результата. Короче говоря, формальные логические системы - это только синтаксис языка, они лишены смысла. Смысл находится только в их моделях, то есть в конкретной интерпретации этого синтаксиса и таких интерпретаций может быть множество. К сожалению возможны и нестандартные интерпертации, которые противоречат исходному замыслу. Это непреодолимая фундаментальная проблема.
vvs> Другая проблема с редукционистским подходом - это экспоненциальный рост предложений языка. В итоге конструкции вроде 2+2=4 могут превратиться буквально в миллиарды более примитивных логических высказываний. Чтобы этого избежать как раз и приходиться прибегать к абстракции и созданию очень сложных синтетических понятий. Но такие понятия требуется предварительно изучать и воспринимать в контексте.
vvs> Именно поэтому начинающему нужен совсем другой подход - неформальный. Для формирования интуитивного понимания понятий незнакомого языка применяется пропедевтика, т.е. по сути упрощение и искажение истинного смысла с помощью аналогий. Как говорят некоторые преподаватели: мы будем вас обманывать для простоты :) Понимание приходит только постепенно, шаг за шагом, а только потом уже приходит озарение. А иначе такой незнакомый язык выглядит, как непроницаемый туман: вроде отдельные слова имеют смысл, а всё в целом - просто бессмысленный набор слов. Я сам был в такой ситуации в прошлом, но уже подзабылось :) О философских проблемах перевода написаны горы серьёзной теоретической литературы, а мы тут просто валяем дурака :)

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

+++ Caesium/0.4 RC1

[>] Re: Солярисы
std.hugeping
vvs(ping,12) — Reprise
2023-06-16 12:16:54


Reprise> Ты всё правильно пишешь, конечно. Только неприменимо к ситуации. Но это уже не важно - я понял, что тебе интересно общаться с теми, кто с тобой на одной волне, и неинтересно с теми, кто думает немного иначе. А жаль.

Да почему же неприменимо? Речь идет о любом языке, в котором нет прямых аналогов знакомым понятиям и который пытается быть мало-мальски формальным. О неформальном понимании, разумеется, речь не идет, но для того и проводится противопоставление. В любом случае я говорю о различном понимании "очевидного", а это как раз и есть источник всех противоречий в данной дискуссии.

Не столько "неинтересно", сколько мне нечего добавить в таком случае. Если очевидное тебе, мне таким не является и аргументы сводятся только к изложению собственного мнения. Ну я твоё мнение уже понял, а что дальше-то? Да, конечно, мне интересно дальнейшее развитие дискуссии, новые идеи, которые можно обдумать а не просто спорить на тему: я не согласен, я вижу по-другому.

Я сам виноват: ввязываюсь в споры о смысле слов. Очевидно, что в этом случае у всех будут очень разные понятия о "моде" и смысле использования вычислительной техники. А это реально неинтересная мне тема для обсуждения.

[>] Re: Plan 9: экстремальный KISS #1
std.hugeping
vvs(ping,12) — hugeping
2023-06-17 22:21:29


Сейчас подсел немного на эксперименты с СВМ ЕС и невольно сравниваю с другими ОС. Есть много аналогий, в частности, и с Plan 9. Для тех, кто не в курсе: СВМ ЕС это был советский аналог IBM VM/SP для S/370. Я в своё время ей воспользоваться не мог, поскольку наша ЕС-ка не имела терминалов ЕС-7920 (IBM 3270). Сейчас это всё стало возможным в эмуляторе и впечатления очень приятные.

Во-первых, это простота ядра. Никаих тебе процессов, а всё - виртуальная машина. Нет, это не похоже на Intel, где виртуализация это достаточно сложно и накладно. На мэйнфрейме это очень просто :) Можно, конечно, запускать и более тяжёлые ОС, но по умолчанию для программиста доступна ПДО (CMS у IBM). Это однозадачная и однопользовательская 32-битная ОС со встроенными средствами поддержки программиста, например довольно мощный текстовый редактор и отладчик. Короче PC DOS на стероидах. Но никакой графики, хотя для кого-то и это плюс :) Есть и текстовая оконная система и свой аналог Norton Commander (Far, Midnight commander) :)

Во-вторых, максимальная приближённость к железу. Никакого Си, вся ОС написана на ассемблере. Кто хочет узнать все низкоуровневые детали работы системы, здесь неизбежно с этим столкнётся. Например, где ещё надо с самого начала представлять себе, как программа загружается и располагается в оперативной памяти? Как осуществляется ввод-вывод на периферийные устройства? Да и номенклатура устройств не чета современным ПК. Где вы ещё найдете перфокарточные устройства, магнитные ленты и диски, адресуемые с указанием цилиндров?

В-третьих, это максимально анархическая система: никакого учёта, всё вручную. У каждого пользователя своя виртуальная машина, где он полный хозяин. Даже определить, сколько у него дисков, где они и какие на них файлы - не так-то просто. Система напоминает децентрализованные сетевые, но только без сети. Однако на самом хосте может быть много терминалов и связь в пределах хоста тоже есть. Есть и много разнообразных способов обмена файлами. Не самый экзотический: вывести файл на виртуальные перфокарты и потом прочитать их на другой ВМ :) При этом довольно развитая система прав доступа: каждая команда ОС имеет свой класс, а диски имеют парольную защиту с отдельным паролем для чтения или записи. Хотя никакой криптографии :)

С исходными кодами здесь, к сожалению, туговато, но, несмотря на это, возможностей по модификации всегда было очень много, а двух одинаковых систем здесь найти нельзя было никогда. Распространёнными способами были, например, модификация бинарных файлов или их дизассемблирование. Но для достаточно старых версий (до 1983 года) IBM изначально предоставляла исходники без ограничений и найти их в интернете и сейчас вполне возможно.

В общем, система кажется мне очень простой даже по сравнению с Plan 9, но это совсем не игрушечная система и на ней когда-то работали тысячи людей и были реализованы большие и серьёзные проекты. А для меня это сейчас просто очень интересная игрушка :) Надеюсь ещё когда-нибудь поковырять и Multics (да-да, тот самый из-за которого появился Unix).

[>] Re: Секретный проект: rein
std.hugeping
hugeping(ping,1) — hugeping
2023-08-06 14:04:38


Записали с true-grue первый ролик про работу со звуком в rein.

https://www.youtube.com/watch?v=F5-IFaDAxXo

[>] Укры атакуют станцию :)
ping.local
hugeping(ping,1) — All
2023-08-10 01:40:22


Ха! Сегодня была атака на мою маленькую малинку. Похоже, написали скрипт который постит сообщения непрерывно, успели загадить базу на 9Гб.

Откатил базу, закрыл на время регистрацию. Снял фетч с других станций. Скорее всего уронацистские сообщения ушли в сеть узлов, которые фетчат с меня.

IP адреса атакующих:

104.28.155.206
104.28.192.94
104.28.222.238
104.28.224.94
104.28.254.238
104.28.156.60

[>] Re: Точка Z
std.hugeping
test123456(ping,50) — hugeping
2023-08-09 13:59:28


Интересная статья.

[>] zvon в rein, встречи
std.rein
hugeping(ping,1) — All
2023-08-10 09:21:31


Пётр Советов (true-grue) записал 1й ролик о звуковой подсистеме zvon (используется в rein). Демонстрируется работа в редакторе голосов voiced.

https://www.youtube.com/watch?v=F5-IFaDAxXo
P.S. Edited: 2023-08-10 19:45:20

[>] Мова
std.hugeping
hugeping(ping,1) — All
2023-08-10 10:32:47


Вчера на станцию ping была снова проведена спам-атака.

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

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

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

Получается что и не ставят они перед собой цель -- донести что-либо. И сообщение на "мове" следует воспринимать как "плевок". Поэтому я перестал их читать. Из сообщений последней атаки я ухватил только ключевое слово: Умань. Значит, эта атака -- реакция на мою заметку "Никто не забыт, ничто не забыто" ii://Sr7pL59F9OV2OimsWQTx

Это даже лестно! Получается я(и моя малинка) внесли какой-никакой, но вклад в информационную войну. :)

Когда началась СВО и многие IT-шники открыто заявили: "нам стыдно, нет войне", я не хотел высовываться. Хотел отмолчаться. Ну, это как говорят -- "моя личная позиция". Зачем о ней трубить всем на свете? Зачем заниматься пропагандой?

Но в глубине души я знал. Если я не скажу прямо, что поддерживаю наших солдат, свою Родину в тяжёлое для неё время, то это будет такое-же предательство. Сейчас вижу, что написав ту первую заметку "Точка Z": ii://RZlA1xAFOxQMrrPRYC13 я всё-таки запустил какую-то цепную реакцию. Значит, всё-правильно сделал.

Моя бабушка разговаривала на суржике. Часто вспоминаю этот мягкий говор. Тогда, в Умани, я говорил бабушке: "Я хочу быть украинцем! Можно?". Никакие мова-плевки не смогут забрать у меня этих воспоминаний детства. Воспоминаний о времени, когда все мы жили в одной стране.

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-08-10 15:29:05


hugeping> Когда началась СВО и многие IT-шники открыто заявили: "нам стыдно, нет войне", я не хотел высовываться. Хотел отмолчаться. Ну, это как говорят -- "моя личная позиция". Зачем о ней трубить всем на свете? Зачем заниматься пропагандой?

hugeping> Но в глубине души я знал. Если я не скажу прямо, что поддерживаю наших солдат, свою Родину в тяжёлое для неё время, то это будет такое-же предательство. Сейчас вижу, что написав ту первую заметку "Точка Z": ii://RZlA1xAFOxQMrrPRYC13 я всё-таки запустил какую-то цепную реакцию. Значит, всё-правильно сделал.

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

P.S. Кстати, для демонстрации неадекватного поведения совсем необязательно жить на Украине. Вон, в соседней теме ТС опускается до неспровоцированных личных оскорблений, причём делает это далеко не в первый раз и не только здесь. Что только в очередной раз подтверждает моё мнение о нём самом: горбатого могила исправит.

[>] Re: Мова
std.hugeping
hugeping(ping,1) — vvs
2023-08-10 16:56:39


vvs> У меня тут есть своё мнение. Мне кажется, что вклад в какие-то реальные события вносят только настоящие профессионалы

Ну тут всё индивидуально. И вообще, сложно не покривить душой когда столько всего намешано. Поменьше рефлексии! :)

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

vvs> в соседней теме ТС опускается до неспровоцированных личных оскорблений

Я могу удалять сообщения на этом узле, которые пришли с других узлов. Но в целом, это практика которая не приветствуется. И вообще модерирование слабо работает в idec, так как все ноды - независимы. Обычно я удалял сообщения в каких то тяжёлых случаях. Я чуть чуть посмотрел вашу "дискуссию", показалось что не такая уж она страшная и агрессия не такая уж и не спровоцированная :). Но за других людей не могу говорить, так что если надо, могу заблокировать что-то.
P.S. Edited: 2023-08-10 14:57:09

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-08-10 17:37:09


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

Это уже о другом: чужая душа - потёмки и человека не узнаешь, пока не съешь с ним пуд соли :) Поэтому меня всегда и коробит, когда я слышу о "друзьях" по интернету. Но и о "врагах" - тоже. Кстати, а ты не думал, что во всей этой спам-атаке есть какие-то странности? А была ли вообще Украина? Кроме украинского языка об этом ничего и не говорит, а это слишком уж очевидно. Ну да, теория заговора напрашивается (и паранойя) :)

hugeping> Я могу удалять сообщения на этом узле, которые пришли с других узлов. Но в целом, это практика которая не приветствуется. И вообще модерирование слабо работает в idec, так как все ноды - независимы. Обычно я удалял сообщения в каких то тяжёлых случаях. Я чуть чуть посмотрел вашу "дискуссию", показалось что не такая уж она страшная и агрессия не такая уж и не спровоцированная :). Но за других людей не могу говорить, так что если надо, могу заблокировать что-то.

Да Бог с ним - слишком много чести :) Цели такой не было, чтобы обязательно банить.

Что касается провокации: моё мнение, что агрессия не может быть оправдана ничем, кроме самообороны, в ответ на угрозы, оскорбления или физическое насилие. И где же именно я там кому-то угрожал или оскорблял? Я же не военный блок :) С моей точки зрения это совершенно неадекватная реакция на любой тривиальный спор, когда даже и не утруждаются ответной аргументацией. Судить здесь только незаинтересованному стороннему наблюдателю, а пытаться брать восстановление "справедливости" в свои руки - как раз и есть ничем не обоснованная агрессия. Интересно, какой тогда была бы реакция если бы спор был не заочным? Поножовщина? По-моему слишком снисходительное отношение к подобным выходкам только вредит: агрессор только утверждается в своей безнаказанности. Ну да ладно, я слишком увлекся назидательными сентенциями, а это пустое :)

Обидно, конечно, что на этой площадке общаться стало практически не с кем. Ты вот, например, вообще больше сюда не заходишь, кроме из ряда вон выходящих случаев. А я бы заметил, что лично я сюда вовсе не с неадекватами ругаться прихожу, а обсудить разные интересные мысли и явления. Но, конечно, у всех разные интересы и своя жизнь, а тебе, похоже, кроме rein сейчас ничего больше и не нужно. В итоге каждый оказывается замкнут в своей скорлупе и общение не получается, а жаль :(

[>] Re: Мова
std.hugeping
hugeping(ping,1) — vvs
2023-08-10 17:53:06


vvs> Это уже о другом: чужая душа - потёмки и человека не узнаешь, пока не съешь с ним пуд соли :)

Я в данном контексте про себя самого, скорее.

vvs> Обидно, конечно, что на этой площадке общаться стало практически не с кем.

Да, сеть еле жива. Но мой узел все равно играет свою роль как хранилища моих заметок.

[>] zvon в rein, встреча №2
std.rein
hugeping(ping,1) — hugeping
2023-08-10 21:45:11


Встреча 2
Различные типы осциляторов
Работа в трекере

https://www.youtube.com/watch?v=dPi6Kq5McnU

[>] rein: Фаза 1.5
std.rein
hugeping(ping,1) — hugeping
2023-08-15 12:50:06


Вернулся к разработке rein. Поводом послужили записи true-grue по звуку ii://PwbZN2b4jRkK1XjVCoMd , которые выявили некоторые ошибки - недоработки. Из основных изменений:

- теперь редактор поддерживает вертикальное выделение блоков (alt модификатор);
- редактор поддерживает режиме вставки overwrite (ins);
- shift-f2 - в редакторе, "сохранить как";
- множество улучшений в voiced, в том числе работа с вертикальными блоками и проигрывание ноты во время вставки (не для режима ins);
- исправления ошибок;
- sys.window_size() - позволяет получать реальные размеры окна в системе и адаптироваться под них;
- в редакторе можно включить режим scalable. В этом режиме он будет использовать ttf шрифт (нужно положить в data/) и адаптироваться под размер окна при изменении размера окна;
- новый boot. Теперь при запуске rein он показывает доступные приложения, а также .lua файлы из текущего каталога. Каждый такой файл можно запустить (z) или открыть на редактирование (x)
- добавлен 07 tutorial (музыка).

P.S.
Последние 256 сообщений из irc #rein теперь можно смотреть в gemini: gemini://hugeping.ru/reinlog.gmi

[>] Re: Краткая информация по этому узлу
ping.local
hugeping(ping,1) — hugeping
2023-08-23 19:07:50


Внимание!

При регистрации на станции указывайте свой настоящий e-mail. Я периодически удаляю подозрительные аккаунты, а неправильная почта -- это один из признаков.

[>] Re: Мова
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2023-08-27 10:56:24


vvs>> в соседней теме ТС опускается до неспровоцированных личных оскорблений
hugeping> Я могу удалять сообщения на этом узле, которые пришли с других узлов. Но в целом, это практика которая не приветствуется. И вообще модерирование слабо работает в idec, так как все ноды - независимы. Обычно я удалял сообщения в каких то тяжёлых случаях. Я чуть чуть посмотрел вашу "дискуссию", показалось что не такая уж она страшная и агрессия не такая уж и не спровоцированная :). Но за других людей не могу говорить, так что если надо, могу заблокировать что-то.

Да ну ты что? vvs Д'Артаньян, а я пидарас :)

+++ Caesium/0.4 RC1

[>] Re: Мова
std.hugeping
kot-av121(ping,51) — hugeping
2023-09-04 11:20:37


Интересно.

[>] Re: Мова
std.hugeping
hugeping(ping,1) — kot-av121
2023-09-04 16:48:07


kot-av121> Интересно.

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

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

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-09-05 16:18:14


kot-av121>> Интересно.

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

hugeping> Если же данные способы связи тебя не устраивают, можешь написать здесь. Но делать это надо со своего настоящего IP и при регистрации указать настоящую почту. Но русофобские сообщения и сообщения на мове будут зачищены.

Это таки бот был, похоже. А тебя действительно адресно атакуют и это вряд ли случайный прохожий.

P.S. А заметь, что сообщения там совершенно одинаковые и на твой весьма уже старый пост. Почему на новые посты не нападают? Подготовка атаки заняла длительное время (и расходов требует)? Интересно, это отдельный акт кибертерроризма или автор профессиональный спамер, использующий свою сеть ботов и для пропаганды тоже? Хотя какая разница - все они на одно лицо.

P.P.S. Ещё одна деталь: сообщения появляются только в темах, где предварительно бот отметился безобидным комментарием.

P.S. Edited: 2023-09-05 14:24:06

[>] Re: Мова
std.hugeping
helpingherring(ping,51) — vvs
2023-09-05 16:47:11


Ох уж ці кібертерористи.

[>] Re: Мова
std.hugeping
hugeping(ping,1) — helpingherring
2023-09-05 17:29:37


Ха-ха! Ты слишком высокого о себе мнения, мой украинский недоброжелатель. :)

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-09-05 18:11:53


hugeping> Ха-ха! Ты слишком высокого о себе мнения, мой украинский недоброжелатель. :)

Террорист - это не звание, а ругательство (назидательно).

А вообще, этот спамер слишком тщеславен. Того же уровня, что и те, кто пишет "здесь был Вася" и надеются остаться в веках :) Ну и Гитлер тоже верил, что его рейх на тысячу лет :)

P.S. Чтобы привлечь именно моё внимание, надо написать книгу на интересную мне тему. Ну или хотя бы какую-нибудь игру :) А иначе - зря потраченное время.

P.S. Ну хоть какое-то оживление. Хотя здесь последнее время других развлечений не наблюдается: одни спамеры, увы :(

[>] Re: Мова
std.hugeping
hugeping(ping,1) — vvs
2023-09-05 18:14:15


vvs> P.S. Ну хоть какое-то оживление. Хотя здесь последнее время других развлечений не наблюдается: одни спамеры, увы :(

У меня просто новый секретный проект! Но, возможно, скоро я его покажу :)

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-09-05 19:12:30


hugeping> У меня просто новый секретный проект! Но, возможно, скоро я его покажу :)

Удачи. Надеюсь его ждет лучшее будущее, чем мой последний "секретный" проект. Я уже раздумывал: не перевести ли мне на русский книжку по логике, но меня демотивировали, объяснив, что это никому не нужно.

Так всё и ограничилось гуглопереводом (не так уж плохо, как я ожидал). Но такие перлы, как "в английском банк означает берег реки и финансовое учреждение. 'Идти в банк' тогда звучит двусмысленно" перевести даже человеку не просто :( Я бы, наверное, перевёл как: "в русском банка означает сосуд, а банк финансовое учреждение. 'Храните деньги в банке' тогда звучит двусмысленно". Но я не профессиональный переводчик.

P.S. Edited: 2023-09-05 17:13:09

[>] Re: Мова
std.hugeping
vvs(ping,12) — hugeping
2023-09-05 20:23:26


Кстати, весь этот детский сад самостийности головного мозга был бы просто смешон если бы относился только к отдельно взятой стране в отдельный момент времени. К сожалению это довольно распространённое заболевание и встречается у слишком многих. Иногда кажется, что это неизлечимо :( Изучение истории наводит на безрадостные мысли: а может люди вообще обречены, как неудачный эксперимент Создателя? Просто ему их слишком жалко, хоть и уродцы, но свои. Правда Библия говорит, что были ещё Содом и Гоморра, да и Великий Потоп... Переделывать человеческую природу - та ещё работёнка :( Вон и коммунисты не справились...

Анекдот:

Дураков на свете немного, но расставлены они так, что натыкаешься на них на каждом шагу.

[>] Re: Мова
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2023-09-06 11:50:48


vvs>> P.S. Ну хоть какое-то оживление. Хотя здесь последнее время других развлечений не наблюдается: одни спамеры, увы :(
hugeping> У меня просто новый секретный проект! Но, возможно, скоро я его покажу :)

Какой же он секретный, если ты его уже давно в курилке так вкусно презентуешь?

+++ Caesium/0.4 RC1

[>] Re: Мова
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2023-09-06 17:15:28


AL> Какой же он секретный, если ты его уже давно в курилке так вкусно презентуешь?

Да, ну на то она и курилка :)

Вообще, мне самому нравится то, что получается. Правда, не всё прям так просто как я думал в начале. Но всё-равно, программировать интересно.

[>] Победа будет Za нами!
std.hugeping
hun19867(ping,50) — Andrew Lobanov
2023-09-07 11:46:45


Слава России!

[>] Re: Победа будет Za нами!
std.hugeping
hugeping(ping,1) — hun19867
2023-09-07 13:59:28


hun19867> Слава России!

Согласен, бро! Слава России!

[>] Re: Победа будет Za нами!
std.hugeping
vvs(ping,12) — hugeping
2023-09-07 23:13:29


:)

Вспоминается Райкин: "Футбол — двадцать два бугая один мяч перекатывают! А вы выдайте каждому ну это… каток! Так они, 22 бугая, 22 бугая, да на полтора часа…. да на полтора часа и на 22 бугая… два пишем, семь на ум пошло. Они всё поле заасфальтируют!".

Следующий этап - заставить спамеров биткойны майнить?

[>] Каждый программист должен написать свой редактор
std.hugeping
hugeping(ping,1) — All
2023-09-10 13:32:09


Решил написать небольшую заметку про свой новый проект. Интересно, что как и остальные, он стал эволюцией моих прошлых экспериментов. Занимаясь INSTEAD я полюбил Lua. Играя с Plan9 я сделал парсерный re:instead (в том числе и для того, чтобы можно было писать парсерные игры прямо в Plan9). Развил re:instead в rein, который стал уже скорее "платформой" приложений.

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

Я пользовался разными редакторами. Среди них, конечно, особое место занимают vim и emacs. Но когда я познакомился с acme я понял, что по большому счёту совсем не важно в чём ты пишешь код. Простой инструмент может быть гибким, эффективным и вдохновляющим.

У кого-то может возникнуть вопрос. А почему я не использую vscode? Потому что моя профессия приносит мне удовольствие и я разборчив в своих предпочтениях. Что касается vscode:

- это приложение на основе браузера;
- vscode пришёл из недр корпорации.

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

Я начал проводить всё больше времени в acme, написал для него e-mail клиент, но всё-таки нельзя сказать, что он стал моим единственным редактором. Он является естественным в своей родной среде обитания - Plan9, но для работы в Linux/Bsd* необходимо собрать plan9ports. Я не чувствовал, что инструмент "принадлежит" мне в полной мере.

Так что мысль о собственном _простом_ редакторе стала приходить мне всё чаще. Наверное ещё во время работы над re:instead (который был написал под вдохновением от редактора Lite) я увидел, что это возможно.

Потом, в rein я написал простой "традиционный" редактор edit и пользовался им при разработке под rein. Ощущение инструмента в котором ты знаешь каждый "болтик" было непередаваемым!

В edit (редактор rein) в начале было много багов. Файл в edit был представлен в виде массива строк. Это удобно для навигации и отображния, но совсем неудобно для редактирования. Пока я его дописывал и фиксил баги я подумал, а что если файл представлять не массивом строк, а просто -- одной строкой? И тут же снова вспомнил acme, где изменения высоты скроллера явно намекает на то, что в качестве позиции используется смещение, а не номер строки. Стало интересно попробовать. И в этот раз я не смог погасить свой порыв. Так я и начал писать свой мини-acme.

Многие фишки acme раскрываются в полной мере в Plan9. Например, файловая система, через которую можно управлять редактором. Да, в Linux тоже можно монтировать её через fuse, но есть нюансы, которые делают этот метод не рабочим. Поэтому я был настроен делать именно "мини"-acme редактор, в котором мог бы делать свою повседневную работу. В качестве механизма расширения - конечно Lua!

Сейчас редактор доведён до полу-готового состояния и смержен в master ветку проекта rein. Редактор делается под мои предпочтения, поэтому он не будет демонстрироваться "широкой" публике, но я всё-таки решил написать этот текст на случай, если им заинтересуется кто-нибудь ещё.

Итак, особенности редактора red.

# RED -- Rein Editor

## Клавиши

В отличие от acme в red работают многие привычные комбинации клавиш:

- ctrl-c/x/v - копирование, удаление, вставка;
- ctrl-z - undo;
- ctrl-k - удаление до конца строки;
- стрелки курсора - перемещение по тексту во всех направления;
- page down/up - перемещение по тексту по странично;
- home/end - начало и конец строки;
- ctrl-w - умное выделение;
- ctrl-s - сохранение буфера (окна).
- shift-движение - выделение клавиатурой.

Как в acme (или почти как в acme) работают:

- escape - выделение последнего блока, удаление;
- ctrl-f - автодополнение путей (правда, если варинтов несколько - выдаётся первый);
- ctrl-a - начало/конец строки.

## Мышка

- аккорды acme - должны работать похоже;
- правая кнопка мыши - простой поиск как в acme;
- alt+правая кнопка мыши - простой поиск назад;
- shift + правая кнопка мыши - эмуляция средней кнопки мыши.

В отличие от acme курсор _мыши_ не прыгает на выделенный текст поиска (так как управление курсором из приложение возможно не во всех средах). Чтобы продолжить поиск нужно повторно кликнуть в пустую область где нет текста (например, справа от строки). Или кликнуть на слово для поиска этого слова.

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

В acme открытие файлов и передача в plumber делается по пкм, однако это меня всегда немного раздражало. Потому что иногда клик приводит к поиску, а иногда - к действию. Захотел поискать https://... в коде, а открылся браузер. Поэтому в red все активные действия висят на средней кнопки мыши. А открытие каталогов, файлов - это тоже активные действия. Возможно, я сделал ошибку, но пока решение кажется удобным.

- умное выделение

Не такое как в acme, но всё-таки удобное. Двойной клик справа от строки - выделить всю строку с переводом строки. Двойной справа от последнего символа строки - строка но без перевода строки. Клики около скобок - выделение до пары. Клики на словах - выделение слов. Кроме мышки можно пользоваться умным выделением нажимая ctrl-w.

## Окна

Я отказался от деления столбцов на стек окон. Вместо этого в одном столбце может быть открыто несколько файлов. Причин две: это проще устроено и этим чаще проще пользоваться. Когда вы открываете ещё один файл в столбце, он становится активным, а предыдущий файл становится на позицию 2 в списке файлов в меню. Вы можете выбрать любой из ранее открытых файлов средней кнопкой мыши. При этом активный файл (который отображён в окне) станет на место выбранного файла. Этим свойством удобно пользоваться для закрытия всех файлов кроме одного. Просто сделайте нужный файл последним в списке, а потом нажимайте подряд Close пока не останется только он. Вы можете перетащить открытый файл в другой столбец если потащите пкм за квадратик меню в область другого столбца.

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

Если имя файла начинается с "+", то такой файл не сохраняется на диск. Поэтому информационные окна называются: +Errors, +Output, +Help и т.д. Вы можете любое окно сделать информационным просто добавив + в начало имени активного файла (первый файл в списке файлов в меню).

Скроллеры в отличие от acme работают традиционно - левая кнопка мыши "таскает" скроллер.

## Вызов программ

Поддержки win (запуск шелла) на данный момент нет. Это связано с тем, что полноценную поддержку процессов нужно делать через fork. Это привяжет red к Unix. К тому же, red - это lite-acme. :) Расширения red можно делать на Lua, но для запуска полноценного shell этого недостаточно.

### Возможности по запуску программ

- >cmd - запуск cmd с передачей в качестве параметра временного файла с данными;
- <cmd - запуск cmd с чтением stdout;
- !cmd - запуск cmd

Кроме того для Linux всё-таки доступна:

- |cmd - работает примерно как в acme. На вход через пайп передаётся текст или выделение и ждём выхода.

Всё это реализовано за счёт io.popen временных файлов и coroutine (переключение после чтения пачки строк). Поэтому - ненадёжно. Если вы запустите программу которая висит и ничего не выдаёт, red зависнет. Поэтому реализацию нельзя считать полноценной замену acme. Тем не менее, я пользуюсь этим механизмом для проверки орфографии.

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

### Встроенные команды

Основной механизм расширений редактора всё-таки не через запуск внешних команд, а за счёт написания процедур на Lua. Процедуры находятся в файле data/lib/red/proc.lua и на данный момент включают следующие команды:

- sub - поиск или поиск/замена построчно;
- gsub - поиск или поиск/замена глобально;
- select - синоним gsub без замены;
- find - синоним sub без замены;

Внимание! Все регулярки - регулярки на Lua!

Примеры:

select ^.*$ - выбрать всё
sub /^/ / - построчно добавлять в начало строки 4 пробела.

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

gsub ^.*$ - выделили всё (тот же select)
sub /^/ / - отработали по выделению.

Доступна форма записи поиска с / - если нужно работать с пробелами:

select / / - выбрать 2 пробела.

Другие встроенные команды:

- Getline - добавляет справа от себя текущий номер строки. Удобно для составления "закладок" в файле;
- fmt [ширина] - аналог утилиты fmt;
- grep выражение - рекурсивный поиск по содержимому файлов каталога. Каталог - dirname открытого в данный момент файла;
- Run [программа] - запуск программы rein (интеграция для разработки под rein) или текущего файла.

## Dump

При нажатии средней кнопки мыши на Dump - в текущем каталоге создаётся конфигурация сессии (файл red.dump). В сессии сохраняются все данные открытых файлов. Даже если вы сотрёте сами файлы, при восстановлении сессии они будут показаны в окнах. Если red находит в текущем каталоге red.dump он всегда его загружает. Возможно, в будущем появится опция для загрузки Dump.

## Параметры командной строки

Запуск red:

$ rein red [-fs <размер шрифта>] [файлы]

Чтобы немного ускорить запуск можно воспользоваться опциями:

$ rein -platform-nosound -platform-nojoystick ...

Для удобства я делаю себе скрипт вида:

-- red
#!/bin/sh
/home/peter/Devel/rein/rein -platform-nosound -platform-nojoystick red -fs 19 "$@"

И запускаю редактор из любого места.

## Открытие файлов по средней кнопке мыши

В файле data/lib/red/uri.lua вы можете прописать вызов внешних программ. Например, запускать просмотрщик pdf если вы нажали на строчку, которая заканчивается на .pdf.

## Настройки для типов файлов

В файле data/lib/red/presets.lua вы можете настроить поведение редактора в зависимости от типа файла (расширения). Пока доступны только размер табуляции и режим табуляции (пробелы или \t). Скорее всего появятся и другие настройки.

## Цвета

В начале red.lua в таблице conf.

# Что дальше?

Редактор ещё сыроват, но я начал его использовать и постоянно вношу доработки. Приоритет разработки - личное использование. Ведь вряд-ли вы захотите променять vscode на _это_! Не правда ли? :) Но меня это не беспокоит. Ведь теперь я точно знаю -- каждый программист должен написать собственный редактор!

У Линуса есть https://github.com/torvalds/uemacs у Роба Пайка -- acme, у Столмана emacs. А у меня теперь есть red и мне больше не нужно выбирать!

P.S. Один мой друг удивился тому, что у меня есть желание программировать после работы и тратить время на такие вот хобби проекты. Не знаю в чём дело, но с годами желание программировать у меня никогда не исчезало. И я считал что это нормальное состояние для программиста. Программирование -- это в первую очередь форма творчества, а творчество всегда лечит. Ведь творчество это свобода. Эксперимент, игра -- но никак не рутина. В хобби проекте ты можешь почувствовать это в полной мере, ведь тут ты не ограничен целесообразностью. А на работе... На работе теперь можно будет редактировать код в red :)

[>] Re: Каждый программист должен написать свой редактор
std.hugeping
vvs(ping,12) — hugeping
2023-09-10 14:46:14


Удалено. Случайно зацепил не ту клавишу.

[>] Re: Каждый программист должен написать свой редактор
std.hugeping
vvs(ping,12) — hugeping
2023-09-10 14:47:01


hugeping> Всё это реализовано за счёт io.popen временных файлов и coroutine (переключение после чтения пачки строк). Поэтому - ненадёжно. Если вы запустите программу которая висит и ничего не выдаёт, red зависнет. Поэтому реализацию нельзя считать полноценной замену acme. Тем не менее, я пользуюсь этим механизмом для проверки орфографии.

https://luvit.io ? Дисклеймер: найдено в интернете, я не специалист по Lua и т.п.

P.S. Я долгое время относился к Lua пренебрежительно за его "игрушечность". Однако в какой-то момент мне зачем-то понадобилось ознакомиться с ним глубже и на меня произвели впечатление элегантность и минимализм языка, напомнило Лисп. И всё же большие и сложные проекты я бы на нём делать поостерёгся.

P.S. Для меня редактор - это ещё и интерфейс со средой исполнения, например CAS или ITP. Но для многих достаточно и меньшего. Emacs - это крайний пример, к тому же его может оказаться и недостаточно если интерфейс нетекстовый по природе.

Pages: 1 ... 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70