RSS
# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — vit01
2021-01-22 17:43:10


vit01> Если аудитория тебя не понимает или не хочет слушать, то это либо проблема аудитории (и надо вещать на других людей), либо твоя проблема, что недостаточно хорошо информацию доносишь. Но это не проблема площадки.

Тут я несколько заблудился. Если площадка - это не аудитория и не я, то что же это такое? Drupal? :)

vit01> Так если ты строишь сложные философские конструкции, то тебе тем более нужно брать и стараться доносить это подробно/наглядно, либо беседовать только с такими же "профессорами", которые доросли до обсуждения таких вещей, а не с широкой публикой

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

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

vvs>> Лично мне не интересно, убеждать кого-нибудь, что 2+2=4 в моем понимании. Я ищу понимания со стороны собеседника. Если понимание невозможно, то я не вижу смысла тратить время на то, чтобы меряться длиной доказательств :)

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

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

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

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

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

vvs>> А разве это не навязывание своего мнения? С моей точки зрения это гипертрофированное восприятие бытовых вопросов и я не вижу здесь глубокого пересечения с вопросами самопознания.

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

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

vit01> Вот как раз поэтому чиновники и работают плохо, из-за того что у нас не сложился в стране институт репутации, и что про чиновников стесняются разговаривать :)

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

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

vit01> А ещё потому что считают политику грязным делом.

А она такая и есть. Заниматься политикой для честного человека - это тяжкий крест. Ничего благородного там нет - это постыдное занятие. Слава Богу, что меня к этому никто не принуждает. И не дай Бог если это станет неизбежным, повторения 1917 и 1991 я никому не пожелаю.

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

# Re: Анонимность и искренность
std.hugeping
vit01(mira, 1) — vvs
2021-01-22 16:14:57


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

Если аудитория тебя не понимает или не хочет слушать, то это либо проблема аудитории (и надо вещать на других людей), либо твоя проблема, что недостаточно хорошо информацию доносишь. Но это не проблема площадки.

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

Так если ты строишь сложные философские конструкции, то тебе тем более нужно брать и стараться доносить это подробно/наглядно, либо беседовать только с такими же "профессорами", которые доросли до обсуждения таких вещей, а не с широкой публикой

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

vvs> Лично мне не интересно, убеждать кого-нибудь, что 2+2=4 в моем понимании. Я ищу понимания со стороны собеседника. Если понимание невозможно, то я не вижу смысла тратить время на то, чтобы меряться длиной доказательств :)

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

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

vit01> Насчёт политики у меня мнение принципиальное, я считаю, что политика касается каждого, эти темы нужно обсуждать просто сами по себе.

vvs> А разве это не навязывание своего мнения? С моей точки зрения это гипертрофированное восприятие бытовых вопросов и я не вижу здесь глубокого пересечения с вопросами самопознания.

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

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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — vit01
2021-01-22 14:23:23


vit01> Я здесь вижу не проблему анонимности и искренности, а просто боязнь критики и обратной связи.

vit01> Разумеется, когда ты что-то публикуешь в сети (в качестве блога или видеоблога), то сталкиваешься с критикой. И это хорошо! В каком-нибудь телевизоре людям просто спускают что-то сверху, и на это нельзя возразить, нельзя изобличить какое-то враньё, добавить анализ фактов и так далее. А в сети публика даёт обратную связь, из-за чего ты вынужден держать планку качества и обосновывать своё мнение

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

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

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

Лично мне не интересно, убеждать кого-нибудь, что 2+2=4 в моем понимании. Я ищу понимания со стороны собеседника. Если понимание невозможно, то я не вижу смысла тратить время на то, чтобы меряться длиной доказательств :)

vit01> Насчёт политики у меня мнение принципиальное, я считаю, что политика касается каждого, эти темы нужно обсуждать просто сами по себе.

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

# Re: Анонимность и искренность
std.hugeping
vit01(mira, 1) — hugeping
2021-01-22 13:44:28


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

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

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

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


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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — boscholeg
2021-01-22 13:48:48


boscholeg> И что про меня подумает начальство мне фиолетово. Хотя токая смелость пришла ко мне уже после сорока лет.

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

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

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

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — Andrew Lobanov
2021-01-22 12:38:47


AL> В нодлисте не могло быть о тебе информации так как ты не был нодой. Оператор твоей ноды знал тебя лично и нёс ответственность за твои действия в сети. О какой анонимности может идти речь в таких условиях?

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

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

# Re: Анонимность и искренность
std.hugeping
hugeping(ping,1) — boscholeg
2021-01-22 11:47:55


boscholeg> Я конечно уже не боюсь сказать, что думаю.

А я вот наоборот, чем дальше, тем сдержанней. :) Хотя потребность иногда ощущается.

# Re: Анонимность и искренность
std.hugeping
boscholeg(ping,5) — hugeping
2021-01-22 09:08:08


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

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

# Re: Анонимность и искренность
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2021-01-22 03:51:12


vvs> А в чем, собственно, принципиальная разница? Я пользовался FIDO в середине 90-х. Кроме телефона организации, в которой я тогда работал, в ноделисте не было никакой другой личной информации. И уж заведомо там не было моего настоящего имени. Меня знал только тот один человек, у которого я был поинтом. Правда эхи меня тогда совершенно не интересовали и я только подписался на файловые эхи и обменивался личной почтой со своей нодой. А после появления в нашей организации интернета про FIDO я вообще забыл. А мой знакомый потом уехал и мы потеряли с ним связь.

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

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — vvs
2021-01-21 18:12:31


Даже нашел у себя в архиве старый ноделист 1996 года. Правда оказалось, что склероз мне не изменяет - там моего телефона как раз и не было. Теперь вспоминаю, что был же еще поинтлист, который у меня не сохранился. То есть даже номер телефона мало кто увидеть мог. Телефон же тот стоял в большой организации и отвечал по нему модем, а в телефонном справочнике того телефона и вовсе не было. Я не припоминаю, чтобы меня тогда сильно беспокоило отсутствие анонимности. Что там можно было обо мне узнать по таким скудным данным? Оператор ноды, возможно, был в других условиях.

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-21 17:07:43


А в чем, собственно, принципиальная разница? Я пользовался FIDO в середине 90-х. Кроме телефона организации, в которой я тогда работал, в ноделисте не было никакой другой личной информации. И уж заведомо там не было моего настоящего имени. Меня знал только тот один человек, у которого я был поинтом. Правда эхи меня тогда совершенно не интересовали и я только подписался на файловые эхи и обменивался личной почтой со своей нодой. А после появления в нашей организации интернета про FIDO я вообще забыл. А мой знакомый потом уехал и мы потеряли с ним связь.

# Re: Анонимность и искренность
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2021-01-21 16:33:41


AL> Но это моё личное мнение и я не хочу затевать спор на эту тему. По старому интернету я всё равно тоже немного скучаю.

Я когда писал заметку, всё думал про Фидо написать, но так и не написал.

Согласен, в Фидо не было анонимности. Но мне кажется, что и формат общения там был несколько иным. Мне сейчас уже трудно вспомнить, но кажется, я там больше как раз флеймил и "навязывал", чем размышлял. :) Но был нетмейл, по которому общение шло уже более мирно-интимно.

Наверное, всё-таки, формат блога, это другое.

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — Andrew Lobanov
2021-01-21 13:10:28


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

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

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

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

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

# Re: Анонимность и искренность
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2021-01-21 08:10:45


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

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

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

Но это моё личное мнение и я не хочу затевать спор на эту тему. По старому интернету я всё равно тоже немного скучаю.

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-20 14:09:32


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

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

# Re: Анонимность и искренность
std.hugeping
hugeping(ping,1) — vvs
2021-01-20 13:54:09


vvs> если хотите резко изменить свою жизнь - посностью поменяйте круг общения.

Совет звучит как что-то простое, но ведь в реальной жизни это практически невозможно?

# Re: Анонимность и искренность
std.hugeping
vvs(ping,12) — hugeping
2021-01-20 13:33:16


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

Поэтому анонимность для меня - это не столько укрытие, сколько просто защитная мера. Не хочу стать уязвимым для преимущественно враждебной среды, коей и является интернет. Своеобразная маска от ковида :)

# Редактор ACME
plan.9
hugeping(ping,1) — All
2021-01-20 12:17:21


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

А идея у acme оказалась простой и при этом мощной. Я в течении 2-х месяцев разрабатывал в нём игру с текстовым вводом, и это было удобно. Привык настолько, что забыл даже часть клавиатурных комбинаций emacs. :)

Итак, в чём идея acme? Идея acme состоит в том, чтобы дать прослойку между ОС и человеком в виде TUI. И это всё.

1) Acme - это просто столбцы, в которых могут создаваться "окна", отображающие текст. Просто текст, поток текста. Без цвета, стилей, номеров строк... Лишь текст.

2) Над окнами есть области, в которых тоже может быть текст, которые играют роль меню.

3) Меню и окнами можно управлять с помощью записи в специальные файлы. С помощью чтения, можно получать события и информацию о текущем содержимом окон и меню.

4) Вы можете "выполнять" команды системы прямо из текста и/или меню. Например, вызывать спеллчекер, форматирование кода, увеличение отступа -- всё это должно быть Unix командами, которые будут выполняться для всего текста или выделенной его части. Текст приходит через stdin и выходит через stdout. Текст может быть внедрён в редактируемый текст или отображаться в отдельном окне (например, ошибки компилятора). Скрипт может понимать, что он запущен из среды acme и управлять редактором через файловую систему!

5) Можно открывать и просматривать файлы/каталоги, переходить на нужные строки, делать поиск в тексте. Всё это делается "выполнением" текста. Есть базовая возможность делать обработку текста на языке, который похож на sed. (Встроенная команда Edit).

При такой простой идее получается, что acme это не просто редактор, а интерфейс к ОС! Настоящий Unix подход, у которого есть неоспоримое преимущество -- простота и низкий порог вхождения! Никаких сочетаний клавиш, всё интуитивно понятно и естественно. Как только привыкаешь к этому, чувствуешь как твоя голова отдыхает!

Не смотря на простоту, acme оказывается мощным. В том числе благодаря возможности работать с ним, как с файловой системой. Так как мы можем ловить события редактора и управлять им, то, к примеру, для acme есть почтовый клиент Mail, который выглядит так же, как и всё остальное -- просто текст с активными элементами. Можно запустить win -- "терминал" и выполнять в нём команды. acme умеет дампить и восстанавливать своё состояние. Сразу оговорюсь, до мощи Emacs acme далеко. Хотя бы потому, что в acme окнах возможно отображать только текст. Но учитывая его простоту, мощности на строку кода у acme больше!

Когда я использовал acme для написания игры, то выглядело это примерно так:

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

2) Правый столбец содержал окна: вывод спеллчекера, файл с автокомандами.

Интересно то, что со временем строка меню обросла теми командами, которые я использовал больше всего именно при работе над игрой. Там были фрагменты строк для поиска, какие-то выбранные места кода, запуск форматирования кода и прочее. Таким образом, acme подстраивался под конкретную задачу. Это было удобно и сам факт показался мне интересным.

В общем, acme -- отличный пример удачного применения KISS подхода. Теперь, кроме emacs в Linux я также использую и acme и этот опыт мне нравится. Переходя с emacs на acme, отчётливо чувствуешь разницу подходов и то, как освобождаются ресурсы в твоей голове, когда можно забыть, хотя бы на время, все эти клавиатурные комбинации. :)

# Анонимность и искренность
std.hugeping
hugeping(ping,1) — All
2021-01-20 10:39:36


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

Что значит интересного? Умного и искреннего. Сейчас, или я постарел, или интернет стал другим, или всё вместе, но я не вижу ни на одной из площадок ничего похожего на то, чем был живой журнал.

Потом посмотрел на IDEC, подумал, что давно не писал никаких заметок и тут... вдруг почувствовал один интересный момент.

Я давно публикуюсь в интернете под своим реальным именем. Я всегда считал, что если человек стесняется/прячется, то и цена его словам -- грош. Но в том же ЖЖ я публиковался под ником. Меня никто не знал. Работодатель, друзья, родственники. И я поймал себя на мысли что сам этот факт может работать как триггер!

Сейчас, как только я собираюсь что-то написать включается внутренний фильтр, который настроен на мою роль. Фильтр не пускает на выхлоп какие-то личные мысли. О вере, о любви, о жизненном опыте. Всё это рубится на корню. Но в ЖЖ я писал именно об этом.

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

Например, если я собираюсь написать пост о Христе, внутренний цензор говорит мне, что-то вроде: Ну сейчас опять атеисты/агностики придут и будут спорить, а мне придётся быть корректным. Не стоит. А может быть, я напишу что-то неканонично? Тоже не годится! Я же православный! Думаю написать о каких-то переломных мировоззренческих моментах. Например о том, что внутренне "Я" нифига не стареет. И в 42 ты такой-же 10-летний мальчишка. Это могут найти знакомые/родственники/работодатели. Что подумают? Ну и понеслось. Даже сейчас мне захотелось отредактировать последний абзац, но не в этот раз. :)

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

Современные социальные сети в принципе не анонимны. (Я сейчас не говорю о настоящей анонимности, понятно, что вычислить тебя могут в любом случае, а о регистрации по своим реальным именам.) И тут я задумался. Возможно, в анонимности есть своё благо, которое состоит в том, чтобы дать возможность сбросить "роль". Стать чуть честнее.

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



# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-01-17 13:02:22


Новости. На текущий момент на конкурс принято 3 игры. Напоминаю, что до конца приёма игр осталось три недели (07.02.2021).

# Re: Театр с куклами или как всё собрать и пойти пить чай
pipe.2032
vit01(mira, 1) — btimofeev
2021-01-03 13:06:09


btimofeev> У тебя там yaourt в арче, его несколько лет назад задепрекейтили из-за отсутствия поддержки и кажется даже из аура уже выкинули, лучше заменить на yay или любой другой из списка https://wiki.archlinux.org/index.php/AUR_helpers

Заменил на yay. Про то что yaourt пользоваться не рекомендуется, давно уже знал (да и в том же Manjaro стоит по умолчанию pacaur), но загнал его в список чисто по привычке.

Просто когда составлял каркас репозиториев для арча, нужно было выбрать aur helper, и я не заметил, что в archlinuxcn кроме старого yaourt были ещё варианты, включая yay

>>> Хочу такой же инструмент, но для Android-смартфонов (установка софта в том числе из F-Droid). Предлагайте, советуйте, буду искать и пробовать

btimofeev> Гугл-сервисы =) Сами бекапят большую часть данных и приложений в облаке и восстанавливают при логине на другом телефоне. Но, насколько я понимаю, ты ими не пользуешься (да и приложения установленные из f-droid они не восстановят).

Да, в этом-то и дело, что гуглосервисами не пользуюсь и держу много софта из f-droid

btimofeev> Возможно тебе подойдет вот эта десктопная утилита, на базе которой можно написать скрипт для автоматической установки софта с fdroid https://github.com/mvdan/fdroidcl

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

К сожалению, мне на андроиде и проприетарщину держать приходится (через Aurora Store), но с ней что-нибудь отдельно попробую порешать.

btimofeev> Также можно через adb просто копию телефона или отдельных приложений снять, а потом восстановить на другом (причем восстанавливаются даже настройки самих приложений):

Про adb backup слышал, но для бэкапа настроек обычно использую приложение oandbackup (оно есть в f-droid и требует root). Если они добавят снапшоты по расписанию, то можно эти бэкапы даже в облако пробросить потом, чтобы прозрачно восстанавливать.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Artist-mode в Emacs
pipe.2032
Andrew Lobanov(tavern,1) — Difrex
2021-01-03 07:58:35


Difrex> А так, вроде, все просто там https://cloud.lessmore.pw/index.php/s/rkYMDEzwZXm7S7E
Difrex> По средней кнопке менюшка, где выбираешь инструмент для рисования, по левой кнопке рисуешь, правой кнопкой стирать.

Понятно. Я просто по привычке не догадался, что надо мышью орудовать, а с документацией какие-то нелады :)

# Re: Театр с куклами или как всё собрать и пойти пить чай
pipe.2032
btimofeev(ping,6) — vit01
2020-12-30 10:10:09


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

У тебя там yaourt в арче, его несколько лет назад задепрекейтили из-за отсутствия поддержки и кажется даже из аура уже выкинули, лучше заменить на yay или любой другой из списка https://wiki.archlinux.org/index.php/AUR_helpers

>> Хочу такой же инструмент, но для Android-смартфонов (установка софта в том числе из F-Droid). Предлагайте, советуйте, буду искать и пробовать

Гугл-сервисы =) Сами бекапят большую часть данных и приложений в облаке и восстанавливают при логине на другом телефоне. Но, насколько я понимаю, ты ими не пользуешься (да и приложения установленные из f-droid они не восстановят).

Возможно тебе подойдет вот эта десктопная утилита, на базе которой можно написать скрипт для автоматической установки софта с fdroid https://github.com/mvdan/fdroidcl

Также можно через adb просто копию телефона или отдельных приложений снять, а потом восстановить на другом (причем восстанавливаются даже настройки самих приложений):

adb backup -apk -shared -nosystem -f mybackup.ab
adb restore mybackup.ab

# Театр с куклами или как всё собрать и пойти пить чай
pipe.2032
vit01(mira, 1) — All
2020-12-29 19:49:20


В этот раз пост будет технический, про настройку своих компьютеров и контейнеров на GNU/Linux (может быть, не только) и как я воспользовался системой управления конфигурацией Puppet. Если ты не программист, то не спеши пропускать пост, потому что кое в чём тебе полезно будет его прочитать и задуматься.


## Проблема настройки ОС с нуля

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

И вот так бывает, что просто задалбывает всё делать каждый раз с нуля, одно и то же. Конечно, в GNU/Linux дистрибутивах есть пакетные менеджеры, где можно в одну строчку ввести несколько имён пакетов, и нужный софт по порядку установится.

Например, `sudo apt install libreoffice firefox gnuplot-x11` и.т.д. Пусть это и круто, но хочется большего:

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

## Системы управления конфигурацией и что они решают

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

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

Такие системы называются *системами управления конфигурацией* (конфигурациями), и товарищи в крупных фирмах ими часто пользуются.

## Ещё немножко комментариев "зачем"

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

Те из вас, кто интересуется политикой, знает, что, например, на штабы Навального регулярно, раз в несколько месяцев, налетает ОМОН, забирает всю технику и не возвращает её. Я всегда представлял себя на месте работников Фонда Борьбы с Коррупцией и на месте каких-нибудь независимых журналистов.

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

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

## Почему не Ansible и не Docker, чем плохи образы

Начнём с **образов**. Казалось бы, если тебе надо часто ставить операционки, то можно просто собрать свою сборку той же Убунты, запихнуть её в iso-образ и пользоваться, когда понадобится. Но тут сразу выползают минусы:

1. В процессе работы у тебя может что-то из настроек меняться, это абсолютно нормально. И на каждый чих, на каждое мелкое изменение придётся этот образ на несколько гигабайт пересоздавать или перезаписывать. Это долго и затратно
2. Образы сами по себе тяжёлые, эти несколько гигов надо просто где-то хранить и не потерять, а ещё наверняка захочется иметь несколько образов на разные случаи жизни, а это значит ещё пару десятков гигабайт
3. Программы имеют свойство иногда "протухать", то есть придётся ещё и устанавливать обновления в образы, а это значит регулярно заниматься пересборкой
4. Если ты ставишь программы другому человеку, то у него какая-то операционка может быть установлена, и удобнее просто накатить нужные программы на уже готовую ОС, чем ставить новую в дуалбут или в виртуалку

Почему не **Docker**? Для разработчика или для большой фирмы есть куча плюсов в использовании Docker, к тому же, там можно не просто использовать образы, но и писать Dockerfile, в котором можно указать кучу разных настроек. Но от Docker я отказался по следующим причинам:

1. Требует запущенного сервиса на компьютере и отдельного обслуживания, просто чтобы можно было что-то запустить изнутри. Опять накладные расходы
2. Вместо того чтобы запускать контейнер в режиме "всё включено", хочется больше гибкости. Например, создать вручную контейнер другой операционки и загнать туда тот же софт. Или установить программы на уже готовую ОС
3. Опять же, когда ставишь проги другим людям, то у них какая-то ось уже стоит, и им проще установить программы без всяких дополнительных слоёв абстракции и без контейнеров


Почему не **Ansible**? Вроде бы, это вообще идеальный вариант. Все настройки в текстовых файлах, кушать не требует, места много тоже не требует. Но мне не очень нравится подход Ansible к описанию настроек: файлы playbook получаются громоздкие, для каждой операционки нужно писать логику отдельно. Ещё там используется "императивный подход", как в обычных скриптах, плюс Ansible больше ориентирован на обслуживание удалённых серверов, а не просто любого компьютера. Хотя, конечно, этот инструмент крут в своей области и позволяет многого достичь, но лично для меня в данной ситуации он не подошёл.


## Как я воспользовался Puppet, с чем его едят

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

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

Вот парочка примеров со [статьи на Хабре]( https://habr.com/ru/company/avito/blog/507346/ ) и на основе документации:

package { 'nginx':         # описываем пакет nginx
    ensure => installed,   # он должен быть установлен
}
~> service { 'nginx':  # описываем сервис nginx
    ensure => running, # он должен быть запущен
    enable => true,    # его нужно запускать автоматически при старте системы
}

Можно устанавливать также Python-пакеты, например

package { 'python-mysql':
  ensure   => installed,
  name     => 'mysql',
  provider => 'pip' # да, ставим через pip
}

Можно пользоваться переменными и добавлять файлы, например

# создание переменных
$variable = 'value'

file { '/tmp/text':
    content => $variable,
    owner => 'root'
}

Можно добавлять пользователей и SSH-ключи


$user = 'littlepony'

user { $user:
    name => $user,
    ensure => present
}

ssh_authorized_key { 'littlepony@hostname':
    ensure => present,
    user   => $user,
    type   => 'ssh-rsa',
    key    => 'содержимое ключа'
}


И даже указывать задания в Cron

cron { 'logrotate':
  command => '/usr/sbin/logrotate',
  user    => 'root',
  hour    => [2, 4]
}

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

## Достоинства и недостатки Puppet

Из достоинств отметил бы

+ Сам способ декларативно описывать настройки
+ Возможность для разных операционных систем написать один конфиг, с минимальными правками. Например, я сделал конфиг, который сработает на Ubuntu/Debian и Archlinux/Manjaro примерно одинаково.
+ Куча модулей от сообщества для настройки самых разных параметров системы

Из недостатков

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

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

## Применение для науки и для своих десктопов

У меня все конфигурации Puppet лежат в Git-репозиториях. Первая, публичная, доступна любому человеку на Github: https://github.com/vit1-irk/lazyinstall-puppet.

Чтобы ей воспользоваться, нужно взять оттуда скрипт с весьма лаконичным названием (см. репозиторий) и запустить его с желаемым ключом. Что есть в наборе `desktop`:

* Мой любимый софт: браузер, текстовые и графические редакторы, некоторые драйвера и полезные утилиты, почтовики и пара мессенджеров, ну и по мелочи. Просто чтобы комфортно было пользоваться компьютером
* Ставится русская локаль и часовой пояс Азия/Иркутск.
* В автозапуск загоняется Nextcloud и KDEConnect, чтобы сразу же синхронизироваться с облаком и со смартфоном

Есть ещё набор `science`, который я предлагаю использовать всем желающим, а особенно тем людям с физфака (и конкретно с космофиза), которые читают этот блог. Набор `science` рассчитан как на обычные компьютеры, так и на серверы. Что через него ставится:

* LaTeX со всеми нужными пакетами, чтобы писать статьи, курсачи и делать презентации в beamer. Редактором выступает Texmaker
* x2goserver, на тот случай если вы хотите запускать графический софт на мощном удалённом серваке, чтобы делать научные расчёты именно там
* Полностью настроенные Jupyter Lab и Jupyter Notebook, чтобы программировать на Python и заниматься анализом данных
* gnuplot, kmplot и Dot (+ модуль Jupyter) для построения графиков и диаграмм, geogebra для решения геометрических задач, Maxima для аналитических вычислений
* Язык R для анализа данных (пока без модуля Jupyter, но в будущем будет)
* Куча питоновских пакетов для анализа данных и вычислений, астрофизики и физики Солнца
* Питоновский модуль apprise для оповещений в мессенджеры или по Email (например, если у вас долгие вычисления и нужно за ними следить)

Для солнечных физиков там есть ещё особенные плюшки:

* Пакет SAOImageDS9 для анализа и просмотра FITS-файлов
* Настроенный GDL (реализация языка IDL) вместе с пакетом IDLAstro
* В питоновских модулях есть готовый для использования Sunpy

На Archlinux GDL мне полностью завести не удалось, но это только пока что, и я над этим работаю. Поэтому солнечникам рекомендуется пользоваться science-набором на Ubuntu или Debian. Если у кого-то есть замечания или предложения что-то включить ещё в научный набор, то с удовольствием приму.

## Вторая, личная конфигурация

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

class personal::soft_services {
    $user = 'vit01'
    
    user { $user:
        name => $user,
        ensure => present
    }

    # ssh_authorized_key {'всё как в примере выше'}
    
    service { 'Syncthing':
        name => "syncthing@$user",
        ensure => "running",
        enable => "true"
    }

    class { 'ssh::server':
      validate_sshd_file => true,  
      options => {
        'Match User www-data' => {
          'ChrootDirectory' => '%h',
          'ForceCommand' => 'internal-sftp',
          'PasswordAuthentication' => 'no',
          'AllowTcpForwarding' => 'no',
          'X11Forwarding' => 'no',
        },
        'PrintMotd'              => 'no',
        'PasswordAuthentication' => 'no',
        'PermitRootLogin'        => 'no',
        'Port'                   => 22,
      }
    }

    $all_path = '/usr/local/bin/:/usr/bin'
    exec { 'install dot kernel for user': path => $all_path,
        command  => 'install-dot-kernel',
        onlyif => 'which install-dot-kernel',
        user => $user }
        
    $icon = 'xdg-desktop-icon install --novendor /usr/share/applications'
    
    file { "xdg bookmarks":
        path => "/home/$user/.config/gtk-3.0/bookmarks",
        content => "file:///home/$user/Nextcloud\nfile:///tmp",
        owner => $user,
        ensure => present
    }
    
    $icons = ["firefox.desktop", "emacs.desktop"]

    $icons.each |String $fname| {
        exec { $fname: path => $all_path,
            command => "$icon/$fname",
            environment => [ "HOME=/home/$user" ],
            user => "$user"
        }
    }
}


## На будущее

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

Что дальше в планах:

* Если будет свободное время и лишние 800 рублей на эксперименты с VPS, то сделаю воссоздаваемую конфигурацию для своих серверов, чтобы сделать их неубиваемыми.

* Настройки для обычных компов будут дорабатываться, чтобы ещё больше снижать количество телодвижений для приведения всего в рабочий вид

* Хочу такой же инструмент, но для Android-смартфонов (установка софта в том числе из F-Droid). Предлагайте, советуйте, буду искать и пробовать

* Разберусь с GDL на Archlinux и потом включу в настройки GDL-kernel для Jupyter Notebook, чтобы ещё больше облегчить написание IDL-кода солнечным физикам

Кстати, в процессе создания desktop-конфигурации я обнаружил к своему удивлению, что MyPaint и GIMP конфликтуют в репозиториях Debian. Это ужас и недоработочка.

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

[https://ii-net.tk/ii/ii-point.php?q=/f/f/alicorn.blog/zvG3oBpUEamdpvEYPGgy
](https://www.deviantart.com/rapidstrike/art/open-horse-development-583519331)

Этот пост в блоге: https://blog.alicorn.tk/posts/puppet-reproducible.html

# Re: Artist-mode в Emacs
pipe.2032
Difrex(dynamic,1) — Andrew Lobanov
2020-12-29 08:15:55


А так, вроде, все просто там https://cloud.lessmore.pw/index.php/s/rkYMDEzwZXm7S7E

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

# Re: Artist-mode в Emacs
pipe.2032
Difrex(dynamic,1) — Andrew Lobanov
2020-12-28 13:51:09


> Хочу присовать простые блок-схемы, но каждая попытка с открытыми мануалами приводит к какому-то месиву в буфере.

Использую artist-mode по работе - все норм. Но я рисую в *scratch*, а потом копипастю в нужный мне буфер.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — vvs
2020-12-26 19:27:07


А вот это интересный пример "простого" кода: https://berthub.eu/articles/posts/reverse-engineering-source-code-of-the-biontech-pfizer-vaccine/

Не уверен, к какому типу языка программирования его можно отнести. Пожалуй ближе к аппаратным языкам, наподобие Verilog/VHDL.

# Re: Халява
pipe.2032
btimofeev(ping,6) — all
2020-12-22 19:52:20


На главной страничке gog.com можно бесплатно получить тактический roguelike про боевых мехов Brigador.
P.S. Edited: 2020-12-22 19:53:06

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
lnp3(ping,17) — hugeping
2020-12-19 21:05:24


Может быть, и не буду переделывать. Пока это под вопросом. Ваше мнение учту, спасибо большое!

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
hugeping(ping,1) — lnp3
2020-12-18 18:18:15


lnp3> Сначала решил делать стандартно, а теперь хочется переделать на парсер. Мне кажется, так интереснее, но времени переделка может отнять много. Думаю.

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

На самом деле, парсер ещё сузит аудиторию.

P.S. Графика -- это круто!

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
lnp3(ping,17) — boscholeg
2020-12-18 13:53:57


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

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
boscholeg(ping,5) — lnp3
2020-12-18 11:04:53


Если не секрет - расскажите какой проект планируете создать.
Будете свою игру писать или сторонние использовать?
P.S. Edited: 2020-12-21 07:35:04

# Re: Старое железо. Заметка №2: OpenBSD 6.8
oldpc.51t.ru
btimofeev(ping,6) — oldpc
2020-12-18 06:38:06


Поставил себе OpenBSD второй системой. Изучаю понемногу.

Почему-то у меня в ней Firefox постоянно падает (при этом создает дамп файл, чем его можно изучить?). А Хромиум работает стабильно, но очень долго запускается, раза в 4 медленнее, чем на линуксе.

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
lnp3(ping,17) — hugeping
2020-12-17 20:00:50


Спасибо большое! Это моя вина - не заметил среди прочих файлов instead-em-3.3.2.zip
Буду пробовать, там всё понятно написано.

# Re: Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
hugeping(ping,1) — lnp3
2020-12-17 16:22:14


В дистрибутиве INSTEAD-EM есть файл README. Прямо внутри zip архива.
Если что-то непонятно в этом README, можно спросить здесь, но уже конкретней.

По instead-js не смогу проконсультировать. Проще всего спросить на телеграм каналах @insteadtalk или @insteadchat у автора (@technix),

# Установка INSTEAD-EM и INSTEAD-JS на vps
std.tech
lnp3(ping,17) — All
2020-12-17 14:10:46


Здравствуйте. Помогите, пожалуйста, советом. Как мне установить на своём vps INSTEAD-EM и INSTEAD-JS? Мне нужно запустить мою игру на своём сайте, но инструкций для этого я не нашёл.

Если лучше задать этот вопрос на instead-games.ru, то прошу помочь с Invitation Code.

Спасибо!

# Бывают крылья у художников
std.hugeping
hugeping(ping,1) — hugeping
2020-12-12 16:49:57


Только что услышал на канале "Культура".
Передача "Линия жизни. Евгений Стеблов" от 12.10.2020

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

Геннадий Шпаликов

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2020-12-09 17:47:26


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

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

Номинация "Выбор жюри"
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

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

Номинация "Выбор игроков"
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-09 12:48:02


AL> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.

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

В прошлом не раз предпринимались попытки устранить этот разрыв за счет более высокого уровня архитектуры процессора, например Intel iAPX 432. Такие попытки проиграли из-за низкого уровня технологий, приведшего к низкой производительности. Я бы напомнил, что были и попытки, наоборот, еще понизить уровень микроархитектуры для увеличения производительности, например IA-64 (Itanium). Проиграла из-за цены.

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-08 12:45:13


AL> Скажем так, что проще, какой-нить PDP-6 или PDP-11 или мой ноут? :)

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

AL> Для адекватной оценки я предлагаю представить себе объём документации такого уровня на какой-нибудь современный сервер. С принципиальными схемами, документацией на чипы, распечатки микропрограмм и кода ОС :)

Нынешний производитель нас явно жалеет и потому не перегружает такими деталями. А в СССР каждый телевизор продавался с принципиальной схемой.

AL> Больших машин я, к сожалению, не видел, но читал про них. Конечно, тоже неоднозначно всё. Например, пакетный режим работы это одно, а интерактивный уже совсем другое. И вряд ли меня бы увлекла работа в пакетном режиме :)

Для интерактивной работы были разные системы разделения времени. И Unix появился именно тогда. А какие игры были! Colossal Cave Adventure! У нас на PRIMUS были калах и какая-то стратегия с чистым текстом. И писали все на каком-нибудь ассемблере или на, худой конец, FORTRAN IV. Конечно были и Симула-67 и Алгол-68 и Лисп, но это уже не то. :) OS/360 и VM/370 были целиком написаны на макроассемблере и настоящий системщик обязан был его знать на зубок.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-08 12:03:35


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

Скажем так, что проще, какой-нить PDP-6 или PDP-11 или мой ноут? :)

vvs> Была такая линейка компьютеров IBM System i, которая начиналась, как IBM System/38 еще в 1978 (ее идейная предшественница System/3 еще в 1969), а потом AS/400. Отличительной особенностью было то, что программисты не имели доступа к аппаратуре, а работали только с виртуальной архитектурой, которую обеспечивала прошивка. Архитектура эта была реализована только для языков высокого уровня с компиляцией в промежуточное представление. Трансляция в машинный код осуществлялась прошивкой статически при установке этого ПО. При замене аппаратной части на несовместимую микроархитектуру ничего не надо было менять, только обновить кэш, где и хранился машинный код.

Были очень разные машины и разные идеи. Про System i, кстати, не слышал раньше. Вообще машины от IBM не попадали в поле зрения пока. Надо будет восполнить пробел.

vvs> Я лично их не видел, но сам начинал работу на ЕС ЭВМ (аналог IBM S/370 модель 138), которая на простые машины тоже была не слишком похожа. Хотя с паяльником туда действительно лазили, предварительно с помощью осциллографа найдя неисправный ТЭЗ. Я до сих пор жалею, что не утащил альбомы с принципиальными схемами, которые потом все погибли во времена перестройки. Сейчас наверное уже ничего не сохранилось. Все там было большое, например пакет дисков объемом 29 МБ весил несколько кг, а переключатели и кнопки были, наверное, не меньше пяти см. Рама там была из литого металла и весила наверняка центнеры и могла выдержать последствия ядерного взрыва если не в самом эпицентре, конечно. Одна документация занимала целые шкафы. Зато там были и принципиальные схемы, и распечатки микропрограмм и кода ОС. Терминалы были действительно векторные, поскольку ЭЛТ не имела строчной развертки и луч действительно рисовал изображение на люминофоре, а контроллеры выглядели, как железные шкафы. В машинном зале все гудело и стрекотало, и ощущения были совсем не похожи на те, которые испытываешь рядом с ПК. :)

Для адекватной оценки я предлагаю представить себе объём документации такого уровня на какой-нибудь современный сервер. С принципиальными схемами, документацией на чипы, распечатки микропрограмм и кода ОС :)

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-07 22:31:02


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

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

Была такая линейка компьютеров IBM System i, которая начиналась, как IBM System/38 еще в 1978 (ее идейная предшественница System/3 еще в 1969), а потом AS/400. Отличительной особенностью было то, что программисты не имели доступа к аппаратуре, а работали только с виртуальной архитектурой, которую обеспечивала прошивка. Архитектура эта была реализована только для языков высокого уровня с компиляцией в промежуточное представление. Трансляция в машинный код осуществлялась прошивкой статически при установке этого ПО. При замене аппаратной части на несовместимую микроархитектуру ничего не надо было менять, только обновить кэш, где и хранился машинный код.

Я лично их не видел, но сам начинал работу на ЕС ЭВМ (аналог IBM S/370 модель 138), которая на простые машины тоже была не слишком похожа. Хотя с паяльником туда действительно лазили, предварительно с помощью осциллографа найдя неисправный ТЭЗ. Я до сих пор жалею, что не утащил альбомы с принципиальными схемами, которые потом все погибли во времена перестройки. Сейчас наверное уже ничего не сохранилось. Все там было большое, например пакет дисков объемом 29 МБ весил несколько кг, а переключатели и кнопки были, наверное, не меньше пяти см. Рама там была из литого металла и весила наверняка центнеры и могла выдержать последствия ядерного взрыва если не в самом эпицентре, конечно. Одна документация занимала целые шкафы. Зато там были и принципиальные схемы, и распечатки микропрограмм и кода ОС. Терминалы были действительно векторные, поскольку ЭЛТ не имела строчной развертки и луч действительно рисовал изображение на люминофоре, а контроллеры выглядели, как железные шкафы. В машинном зале все гудело и стрекотало, и ощущения были совсем не похожи на те, которые испытываешь рядом с ПК. :) Машинный код можно было увидеть и пощупать руками, когда держишь в руках перфокарту с отверстиями пробитыми в разных местах. А потом вставить ее в устройство чтения, выставить его адрес на панели ЦП и нажать на кнопку загрузки.
P.S. Edited: 2020-12-07 23:41:00

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:53:58


hugeping> Так что мне кажется, что тут можно говорить об антропном принципе в оценке сложности. :)

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

P.S. Тут точнее было бы говорить об избавлении от субъектоцентризма.

P.S. Edited: 2020-12-07 18:34:44

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:33:36


hugeping> Насчёт Singularity возникли мысли, но уже не буду писать, а то много текста. :)

Сам туда очень давно не заглядывал, а там есть ссылки на аналогичные проекты. И среди них Inferno. Впрочем, туда я тоже давно не заглядывал :)

А вообще, действительно, основное отличие Inferno от Plan 9 - это исполнение пользовательского кода на языковой виртуальной машине. Кроме того, меня подкупила там возможность использования совместно с обычной ОС.

Времени на все, к сожалению, не хватает - это самый ограниченный во вселенной ресурс :(

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 17:10:12


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

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

Я бы еще сюда добавил и жадность.

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 16:47:35


vvs> Инженерное решение - это всегда компромисс между желанием и имеющимися ресурсами. Наука и искусство этим напрямую не связаны, хотя, например, физика косвенно зависит от инженерных решений.

Можно ли сказать, что какие-то числа объективно большие, а какие-то -- не очень большие?

На первый взгляд, нельзя. Ведь всегда можно выбрать число больше. И вообще, 10 это много или мало? Относительно 1 -- много! Но мне кажется, что есть всё-таки какая-то мера сложности, которая должна оцениваться относительно меры сложности человека и мира, в котором он живёт.

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

Были 8битные процессоры. Объективно -- не хватало. Потом 16, лучше, но не всегда хватало. 32 бита! Вообще отлично! На самом деле 32 бит для большинства задач хватало, а то что больше - ну писали библиотеки. Но вот адресное пространство 32 бит, как-то не очень... 64 бита. Нужно ли 128бит? 256? 512? (Я не про векторные инструкции и не про специализированные аккселераторы крипты, к примеру, а именно про регистры общего назначения).

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

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

Та же скорость света - как предел распространения сигнала.

Так что мне кажется, что тут можно говорить об антропном принципе в оценке сложности. :)

Насчёт Singularity возникли мысли, но уже не буду писать, а то много текста. :)

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 16:14:51


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

А как отделить очень разное концептуальное устройство от оценки сложности. Все равно, что оценивать костюм по пуговицам, как у Райкина.

hugeping> Про Singularity я, к сожалению, ничего не знаю. Очевидно, в этой ОС проблема выполнения недоверенного (нативного) кода как-то решается. Или там вообще нет такого понятия и всё проходит через их язык. Но, тоже решение. Может быть, и нормально. Хоть и не традиционно.

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

hugeping> Так же, есть вещи, которые изменить нельзя. Например, сложная система команд целевого процессора. Ну, взять тот же vliw.

Все еще сложнее. Как сравнивать арифметику натуральных чисел и анализ комплексных функций? Они связаны, но слишком разные. Если процессор не реализует вычисления с плавающей точкой, то это неизбежно сказывается на всем ПО. И как сравнивать ОС для разных архитектур? Можно только специально подобрать для сравнения очень похожие примеры, но это очень частный случай и поэтому не интересно.

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

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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 15:54:52


vvs> Другой пример. Одна ОС реализует аппаратную защиту памяти, а другая полагается для этого на компилятор, как Singularity.

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

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

Так же, есть вещи, которые изменить нельзя. Например, сложная система команд целевого процессора. Ну, взять тот же vliw.

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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 15:44:15


Да нет, видно там всё по коду.

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

P.S. Я не спорю. Просто делюсь своими наблюдениями. Ты можешь считать их ошибочными, я не против.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 15:40:03


Другой пример. Одна ОС реализует аппаратную защиту памяти, а другая полагается для этого на компилятор, как Singularity.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 15:22:21


vvs>> Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?

hugeping> Ну мы же говорили о том, что человек создал. Скажем, сравнительно оценить сложность: ядра Linux, OpenBSD, FreeBSD, HaikuOS и Plan9 вполне себе сравнивается. :)

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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-07 14:26:00


vvs> Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?

Ну мы же говорили о том, что человек создал. Скажем, сравнительно оценить сложность: ядра Linux, OpenBSD, FreeBSD, HaikuOS и Plan9 вполне себе сравнивается. :)

vvs> Я там вижу две составляющие: логика и эстетика. Опять же, первую оценить относительно просто, в отличие от второй.

Оценить - несложно. Формально доказать - сложно. Но у кого стоит такая цель? У меня - нет такой. :)

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 14:22:15


hugeping> В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 12:40:13


hugeping> Сложность это не просто размер кода, это _комплексность_. Например, сложность ядра Linux высока не столько из-за размера, сколько из-за сложного взаимодействия компонентов. Так что компилятор компилятору -- рознь.

Комплексность сложно оценить, в отличие от размера. Я вот понятия не имею, что сложнее устроено: солнечная система или электрон?

hugeping> Я не специалист в ФП, но мне кажется идеи, которые реализует тот же Haskell сами по себе просты. Но, не буду лезть в область, в которой я нуб.

hugeping> В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.

Я там вижу две составляющие: логика и эстетика. Опять же, первую оценить относительно просто, в отличие от второй.

P.S. Да, там еще есть изощренность практических алгоритмов, которую тоже оценить трудно.

P.S. Edited: 2020-12-07 12:46:25

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-07 12:26:19


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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — Andrew Lobanov
2020-12-07 09:11:59


AL> Да. Эти компиляторы очень сложные с инженерной точки зрения. И как и везде это имеет две стороны: они позволяют достаточно простые вещи, но они достаточно сложны.

Сложность это не просто размер кода, это _комплексность_. Например, сложность ядра Linux высока не столько из-за размера, сколько из-за сложного взаимодействия компонентов. Так что компилятор компилятору -- рознь.

Я не специалист в ФП, но мне кажется идеи, которые реализует тот же Haskell сами по себе просты. Но, не буду лезть в область, в которой я нуб.

В качестве элегантных (и при этом мощных) вещей можно привести: Форт, Лисп.

# Artist-mode в Emacs
pipe.2032
Andrew Lobanov(tavern,1) — All
2020-12-07 07:50:36


Попытался разобраться как работать в artist-mode в своём любимом Emacs и что-то не понял сам принцип рисования в нём. Хочу присовать простые блок-схемы, но каждая попытка с открытыми мануалами приводит к какому-то месиву в буфере.

Кто имеет опыт успешного использования этого инструмента? Поделитесь основными принципами работы с ним.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:20


AL>> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.
vvs> Просто для поддержания светской беседы, не относитесь к этому вопросу слишком серьезно. Компилятор с языка, на котором написан этот код, имеет меньше ста тысяч строк кода вместе с комментариями. Напомните мне, пожалуйста, какой размер кода имеют gcc или go? Последний раз когда я смотрел, число строк кода go приближалось уже к миллиону. Да, я знаю, что это сравнение не вполне корректное, но все же. :)

Да. Эти компиляторы очень сложные с инженерной точки зрения. И как и везде это имеет две стороны: они позволяют достаточно простые вещи, но они достаточно сложны.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:19


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

О чём я и говорил изначально :)

vvs> Тут хорошо подойдет известная аналогия: когда именно несколько песчинок превратятся в кучу песка? Где именно граница между простым и сложным? Разве это не указывает на наше индивидуальное отношение?

Сумма простых вещей может быть и сложной. Но сумма сложных вещей сложнее :)

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:18


vvs> Что ж, это интересный пассаж, добавляющий еще одно измерение. Действительно, речь идет об искусстве или о производстве? Искусство дает уникальное творение, а производство массовые копии. Простота производства, безусловно, должна отличаться от простоты искусства. С моим мнением это тоже вполне согласуется.

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

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-07 04:19:17


vvs> Хорошо. Чтобы еще больше всех тут запутать я скажу, что для формального описания поведения вышеупомянутого кода годится лямбда-исчисление, а для императивного кода, даже на языке ассемблера (или C), нужна уже логика разделения, которая ну никак не кажется проще. Следствием является то, что доказать правильность работы ФП в целом проще, чем императивного кода. Что означает, что добиться надежности в первом случае тоже легче.

Всё так.

vvs> Другим следствием будет то, что понять логику работы компилятора неспециалисту, конечно, сложнее, чем программы на языке ассемблера. При том, что существуют формально проверенные компиляторы, где корректность их реализации формально гарантирована. Весь вопрос в том, какая же именно простота тут "истинная"?

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

vvs> Я уже сказал в самом начале, что не собираюсь поднимать флейм. Моя личная точка зрения по этому поводу, что говоря о "простоте" люди обычно сравнивают теплое с мягким и большого смысла такое сравнение не имеет.

Флейма как такового и нет. И я ни в коем случае не ставлю какую-то крайность в абсолют. Просто мне нравятся вещи, которые просто устроены. Почему из этого нужно разжигать флейм и что-либо доказывать мне не совсем понятно :)

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 22:58:50


AL> Код, который ты приводил, как раз ярко иллюстрирует мою идею. Компилятор сложная технически штука. Очень сложная. Зато она позволяет вот так просто для пользователя писать код.

Просто для поддержания светской беседы, не относитесь к этому вопросу слишком серьезно. Компилятор с языка, на котором написан этот код, имеет меньше ста тысяч строк кода вместе с комментариями. Напомните мне, пожалуйста, какой размер кода имеют gcc или go? Последний раз когда я смотрел, число строк кода go приближалось уже к миллиону. Да, я знаю, что это сравнение не вполне корректное, но все же. :)

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-06 20:23:22


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

Тут хорошо подойдет известная аналогия: когда именно несколько песчинок превратятся в кучу песка? Где именно граница между простым и сложным? Разве это не указывает на наше индивидуальное отношение?

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-06 20:13:31


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

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2020-12-06 20:06:12


Вторая новость. В состав жюри вошла прекрасная Альфина aka Александра Голубева. Прошу любить и жаловаться. Для тех, кто в танке, Александра "Альфина" Голубева - нарративный дизайнер Pathologic 2, автор и художник вебкомикса "Маревый Мир", переводчик книг «Кровь, пот и пиксели» и «Кодзима — гений».

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-06 19:11:01


Я тоже немного запутаю.

Когда говорили про Plan9, true-grue прислал мне один свой комментарий, который, на мой взгляд, в тему разговора. Особенно там, где про чувства к инструменту.

http://fforum.winglion.ru/viewtopic.php?p=40887&sid=b952e062260f48b8f6b6b45f8e76b3d0#p40887


Далее цитата.

Форт-метод -- метод создания инструментария для решения задач. Каковы же его отличительные стороны? Ориентированность на личность, на кустаря-одиночку, независимого от чужого инструментария. Использующему форт-метод разработчику требуются большие опыт и знания. Ведь он, подобно Родену, изучив "глыбу мрамора" знаний и технологий, отсекает от нее все лишнее для себя, путем тщательного отбора из большого числа возможностей. Аналогия с искусством тут неслучайна, ведь автор не просто создает полезный инструмент, а такой, которому он будет испытывать чувства. Отсюда стремление к элегантности, красоте конструкций, миниатюризации. Его инструмент -- средство индивидуального пользования для решения собственных задач. Поддержка в рабочем состоянии, независимость от чужих технологий -- все это накладывает отпечаток на структуру инструмента. Отсюда требования к простоте и регулярности конструкции. Минимализм и единообразие часто приводят к тому, что одни и те же элементы такого инструментария используются нетривиальным образом для различных целей. Это требует определенного мастерства в освоении, в духе процесса бритья топором или использования надфиля в качестве пилки для ногтей. В целом, форт-метод добавляет к результату яркий отпечаток индивидуальности создателя.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 17:11:12


Хорошо. Чтобы еще больше всех тут запутать я скажу, что для формального описания поведения вышеупомянутого кода годится лямбда-исчисление, а для императивного кода, даже на языке ассемблера (или C), нужна уже логика разделения, которая ну никак не кажется проще. Следствием является то, что доказать правильность работы ФП в целом проще, чем императивного кода. Что означает, что добиться надежности в первом случае тоже легче.

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

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

# Re: KolibriOS
idec.talks
btimofeev(tavern,13) — hugeping
2020-12-06 16:49:46


hugeping> Интересное совпадение. У меня работала и на eeepc и на thinkpad и на настольном PC...

А у меня даже в виртуалбоксе при обновлении все время зависала намертво. А на комп ее ставить я не пробовал.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 16:49:14


vvs> Хм. На этот раз я вынужден сказать, что ты меня как-то не так понял. А где именно я сказал, что твоя точка зрения - это плохо? Я лишь просто уточнил, что мне такое деление кажется искусственным. Твою точку зрения я прекрасно понял, просто для того, чтобы лично мне узнать, что есть технически простое решение, придется идти к тебе за ответом. Я сам не могу с уверенностью это определить. Вот даже на приведенный мной раньше фрагмент кода вы с Петром дали противоположные ответы. Так кто будет в этом конкретном случае арбитром? Я не против если это будешь именно ты, но это как-то слишком произвольно на мой взгляд, разве нет? :)

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 14:19:48


Хм. На этот раз я вынужден сказать, что ты меня как-то не так понял. А где именно я сказал, что твоя точка зрения - это плохо? Я лишь просто уточнил, что мне такое деление кажется искусственным. Твою точку зрения я прекрасно понял, просто для того, чтобы лично мне узнать, что есть технически простое решение, придется идти к тебе за ответом. Я сам не могу с уверенностью это определить. Вот даже на приведенный мной раньше фрагмент кода вы с Петром дали противоположные ответы. Так кто будет в этом конкретном случае арбитром? Я не против если это будешь именно ты, но это как-то слишком произвольно на мой взгляд, разве нет? :)
P.S. Edited: 2020-12-06 14:21:51

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 14:05:12


AL>> Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.
vvs> Я с большим недоверием отношусь к искусственным идеализациям. В жизни они часто не имеют смысла. Мы тут на эту тему уже не раз копья сломали. Оторвать инженерные критерии от инженеров вряд ли получится, поскольку они не существуют сами по себе в вакууме. Конечно, имеет смысл думать что инженеры стремятся к какому-то идеалу, но как показывает эта же самая дискуссия - он у всех разный.
vvs> P.S. Кстати, подобная идеализация свойственна последователям Платона. Я к ним не отношусь, если что.

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

# Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — All
2020-12-06 13:34:20


Зимняя олимпиада квестов 2020-2021

Приветствую всех поклонников интерактивной литературы и текстовых игр на очередной Зимней Олимпиаде Квестов 2020-2021!

В этом году вас, как обычно, ждут обновлённые правила ЗОК, двусмысленные темы конкурса, скромные призы, мудрое жюри и эпатажный организатор женского пола.

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

Все вопросы, на которые вы не нашли ответ в правилах, можно задавать напрямую организатору (это я, если кто-то до сих пор не понял 😉) на https://discord.gg/5MwVHu9J5s Discord-сервере сообщества интерактивной литературы, либо на почту project.enola@yandex.ru.

Краткие правила
Требования: текстовая игра на русском языке.
Отправка игр по адресу: project.enola@yandex.ru

Срок приёма игр: с 07.12.2020 г. по 07.02.2021 г.
Публикация игр: 07-08 февраля 2021 г.
Срок голосования: с 08 февраля 2021 г. по 21 февраля 2021 г.
Две номинации: «Выбор жюри» и «Выбор игроков».
Жюри: Альфина, Антон Ласточкин, Yandexx, techniX, cheshire, goraph.
Игроки: пользователи, зарегистрированные на форуме ifiction.ru и проголосовавшие за игры.

Призы: Номинация "Выбор жюри"
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Номинация "Выбор игроков"
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Призовой фонд формируется. Ищем спонсоров.

Связь с организатором (то есть мной) на канале #зок на https://discord.gg/5MwVHu9J5s Discord-сервере сообщества интерактивной литературы

Подробные правила:
Требования:
Впервые опубликованная текстовая игра на русском языке.
Допускаются: онлайн-игры, переводы иностранных игр, книги-игры (только в формате PDF с интерактивным геймплеем (гиперссылками)).
Жанр игры: любой, но, в первую очередь, приветствуются квесты (логично же, исходя из названия конкурса).
Игры, которые раньше были частично опубликованы (отдельная часть, глава, история из игры), допускаются на конкурс после решения организатора, в зависимости от количества нового контента.
Количество игр от одного участника не ограничено.

Темы(для тех, кто не знает, о чём писать):
1. Начхать на всё.
2. Девушка с короной.
3. От сумы и зимы не зарекайся…
4. Инъекция Олимпиады.
5. Квесты эпохи Нью-эйдж.

Темы можно понимать, как угодно (включайте воображение).
Игры, не соответствующие темам, будут приняты на конкурс (но организатор будет расстроена 🙁).

Сроки:
• Срок приёма игр: с 07 декабря 2020 г. по 07 февраля 2021 г. (включительно).
• Срок публикации присланных игр: с 07 на 08 февраля 2021 года.
• Срок голосования для жюри и игроков: с 08 по 21 февраля 2021 года. (включительно).
• Подведение итогов – после завершения голосования.
Все даты подразумевают московское время.

Отправка игр.
Архив с игрой и любыми дополнительными (по желанию автора) материалами необходимо прислать до окончания срока приема работ на e-mail адрес: project.enola@yandex.ru
Туда же нужно присылать все обновления.

В теме письма указать: Игра на ЗОК.
К игре необходимо приложить следующую информацию:
• Ник(и)/имя(ена) автора(ов) игры
• название игры
• описание игры
• название платформы
• обложку игры (можно скриншот) размером от 300×300 пикселей (по желанию автора, но обычно картинки лучше привлекают игроков)
• особые инструкции по запуску (если игра запускается нетривиальным образом): требуемые интерпретатор, операционная система, библиотеки для запуска и т.д.

Также желательно приложить краткое прохождение загадок или подсказки для жюри.

Онлайн-игры: Если вы пишете онлайн-игру на специализированных ресурсах, имеющих премодерацию публикации (например, hyperbook.ru, axma.info, quest-book.ru,apero.ru и другие подобные ресурсы), вам необходимо:
• уведомить организатора письмом на project.enola@yandex.ru о том, что игра, участвующая в ЗОК 20-21, будет опубликована на соответствующем ресурсе
• опубликовать игру (или отправить на модерацию) не ранее 07 февраля 2021 года.

Если вы отправляете игру на онлайн-ресурсы без премодерации и без ограничения по просмотру, просто подождите с отправкой до 07 февраля 2021 года.

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

Голосование:
Все присланные игры автоматически принимают участие в двух номинациях конкурса: «Выбор жюри» и «Выбор игроков».

Выбор игроков
Призовой фонд:
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Игроки - все желающие, зарегистрированные на https://forum.ifiction.ru/ форуме ifiction.ru. Ссылка на голосование будет размещена здесь позднее. Игроки оценивают игры по шкале от 1 до 10.

Итоговая оценка игры считается, как среднее арифметическое всех поданных за неё оценок.
Голоса, отданные только за одну игру или явно не соответствующие уровню игр и/или их сравнительному качеству (например, всем играм - 1, а одной - 10), будут расцениваться организатором как «накрутки». В случае, если игра набрала менее трёх голосов игроков, она не может претендовать на призовое место.
В случае равенства голосов, отданных за какие-либо игры, решение о распределении мест между ними принимает организатор.

Выбор жюри:
Призовой фонд:
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Состав жюри: Альфина, Антон Ласточкин, Yandexx, techniX, cheshire, goraph..
(Жюри - замечательные люди, имеющие за плечами немалый опыт текстового игростроения, чьему мнению по играм я доверяю. Надеюсь, что и большинство людей в сообществе интерактивной литературы разделяет мою убеждённость.)

Оценка игр(дальше много текста про систему судейства)
Жюри оценивает игры по четырём критериям:
Увлекательность, Сюжет, Геймплей, Литературный стиль.

По каждому критерию члены жюри выставляют оценку от 1 до 10.
Цифры можно расшифровать примерно так:
10 - «не забуду еще десять лет», 9 - «не оторвусь ни за что», 8 - «великолепно!», 7 - «хорошая штука, мне понравилось», 6 - «неплохо, но ничего особенного», 5 - «так себе, видал я много лучше», 4 - «играть можно только с большим трудом», 3 - «тоска, скука и скрежет зубовный», 2 - «где тут, собственно, игра?», 1 - «кто мне подсунул этот кошмар?!».

Также жюри предлагается выразить своё мнение об игре тремя короткими комментариями:
Запоминается…
Хотелось бы…
Итоговый вердикт…
Данные комментарии сугубо добровольные, жюри могут оформить свои впечатления от игр другим образом или не описывать их вообще.

Подробнее о критериях:

Увлекательность
Это - самое важное, что можно сказать об игре. Интересно ли в нее играть? Общие впечатления и ощущения.

Геймплей
Собственно игровая механика и техническая реализация игры (баги, ошибки). Если так обобщать. Насколько механика игры интересна разнообразна и соответствует остальным элементам игры.

Сюжет
Оригинальность истории, её непротиворечивость. Отсутствие логических неувязок, неясностей, последовательное, а не «рваное» повествование (если, конечно, это не специальный приём в игре).

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

Игры, получившие от любого члена жюри по одному из критериев оценку 3 и менее, не могут претендовать на призы в номинации "Выбор жюри".

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

P.S. Жюри могут участвовать со своими играми в конкурсе (ну а вдруг 😉), но только в номинации «Выбор игроков».

Заключительные положения

В случае нарушения правил конкурса участником организатор, посовещавшись с жюри, имеет право дисквалифицировать игру участника.
Настоящие правила могут меняться в течение конкурса, о чём организатор будет делать объявления.
Дальнейшие пополнения призового фонда будут распределяться пропорционально и соразмерно между местами. (Естественно, что призы за первые места могут быть больше и новые пожертвования можно направлять только на первые места по желанию спонсора).
P.S. Edited: 2020-12-09 17:42:46

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-06 12:31:10


AL> Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.

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

P.S. Кстати, подобная идеализация свойственна последователям Платона. Я к ним не отношусь, если что.
P.S. Edited: 2020-12-06 12:34:03

# Re: KolibriOS
idec.talks
hugeping(ping,1) — leency
2020-12-06 11:02:03


leency> ...но как оказалось Haiku в живую не стартует ни только на нем, ни вообще ни на одном компе у меня дома, а их куча.

Интересное совпадение. У меня работала и на eeepc и на thinkpad и на настольном PC...

# Re: KolibriOS
idec.talks
leency(ping,15) — btimofeev
2020-12-06 10:43:42


btimofeev> Haiku или OpenBSD выглядят интереснее.

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

Haiku, кстати, в своем составе имеет некоторые компоненты из FreeBSD, например, драйвера сетевых карт (из того что я видел в исходниках).

# Re: KolibriOS
idec.talks
btimofeev(ping,6) — leency
2020-12-06 05:27:21


Я в 2007 году много "игрался" c kolibri. Она у меня даже в дуалбуте стояла. Но сейчас кажется, что ОС на ассемблере это тупик. Только если хочешь изучить и попрактиковаться в ассемблере, либо есть какой-то совсем древний комп.

Haiku или OpenBSD выглядят интереснее.

# Re: Эха plan.9
idec.talks
Andrew Lobanov(tavern,1) — hugeping
2020-12-06 05:11:28


hugeping> Создал новую эху, посвящённую Plan 9.
hugeping> Не знаю, будет ли жить, но пока так. Раздаётся пока с http://hugeping.tk.

Эха доступна в таверне.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-06 05:11:30


vvs>>> Тут чувствуется одно противоречие. Программист - он еще и пользователь, зачастую очень ленивый.
hugeping>> А в чём противоречие?
vvs> Это конкретно было адресовано Андрею на черно-белую дихотомию инженеров и пользователей.

Я взял полярные случаи для наглядности. И делил вещи, а не людей. Ты что-то понял не так.

vvs>>> Лично мне больше нравится, когда решение моей задачи я доверяю компилятору.
hugeping>> Сейчас идёт сравнение с ассемблером? Я лично тоже доверяю компилятору. На ассемблере я давно не пишу (хотя сталкиваюсь с ним при отладке). Си -- один из примеров, когда коэффициент красоты (эффективность/сложность) -- очень хороший. Он и создавался как переносимый ассемблер.
vvs> Нет. Вот конкретный пример:
vvs>
vvs> ```
vvs> def fact x :=
vvs> match x with
vvs> | 0 => 1
vvs> | n+1 => (n+1) * fact n
vvs> ```

Код здесь обрамляется ====.

vvs> Это просто? Вроде да. Но это только синтаксический сахар. После развертывания в абстрактный синтаксис это выглядит далеко не просто. Кроме того компилятор генерирует вспомогательный код, который нужен ему, но мне не обязательно понятен. Разве что если я увлекаюсь теорией формальных языков.

Это нифига не просто. Но для пользователя синтаксический сахар как раз и проще.

# Re: Парадокс друга Вигнера
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 22:04:46


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

Но, господа, забавный случай сей
Другой пример на память мне приводит:
Ведь каждый день пред нами Солнце ходит,
Однако ж прав упрямый Галилей.

А.С.Пушкин

# Парадокс друга Вигнера
std.hugeping
hugeping(ping,1) — vvs
2020-12-05 21:31:00


Оставлю это здесь.
Ещё один эксперимент, о котором я не знал.

https://naked-science.ru/article/physics/kvantovaya-fizika-dokazala-chto-obektivnoj-realnosti-ne-sushhestvuet

Забавно, что в 2009-м, когда я писал игру "Возвращение квантового кота" я думал использовать этот парадокс для спасения кота. Но решил, что слишком сложно и не правдоподобно. :)

# Эха plan.9
idec.talks
hugeping(ping,1) — All
2020-12-05 20:08:48


Создал новую эху, посвящённую Plan 9.

Не знаю, будет ли жить, но пока так. Раздаётся пока с http://hugeping.tk.

# Интересные ресурсы
plan.9
hugeping(ping,1) — All
2020-12-05 20:06:33


Сюда предлагаю добавлять ссылки на интересные ресурсы.

Документация по Plan 9 -- http://doc.cat-v.org/plan_9/

9front -- форк Plan 9 для современного железа -- http://9front.org/

9fans discord -- https://discord.gg/eu8VBUs

Русскоязычная телеграм группа -- https://t.me/ru_plan9

Plan 9 как десктоп -- https://pspodcasting.net/dan/blog/2019/plan9_desktop.html

Интересные заметки по 9front, например есть "рецепт" установки без fsworm партиции. -- http://docs.a-b.xyz/sitemap.html

Музыкальный плеер Zuke -- https://sr.ht/~ft/zuke/

Видео-плеер treason: https://sr.ht/~ft/treason/

Мои патчи/хаки на 9front. Переключение раскладки с клавиатуры, драйверы для eeepc -- https://github.com/gl00my/plan9hacks

# Эха по Plan 9
plan.9
hugeping(ping,1) — All
2020-12-05 19:52:27


Долго думал, создавать ли эху. Просто потому, что есть риск того, что она никогда не наполнится.

С другой стороны, уже несколько раз хотел где-то записать заметки/ссылки на интересные ресурсы и было негде. Так что, всё-таки создаю.

Если что, грохнуть всегда можно потом.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 18:49:44


hugeping> Уравнение прямой — что может быть проще?

hugeping> Ах + Ву + С = 0

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 18:21:49


hugeping> То-есть в простом подходе, не плодятся сложные уникальные сущности, но по разному комбинируются простые. Это и есть Unix подход. Только Linux уходит от него всё дальше... Понятно, что когда мы говорим о такой задаче, как обработка/редактирование видео, например, Unix подход может превратиться в ту самую "сложную" формулу. Так что, очевидно, простота работает не везде. Но можно к ней хотя бы стремиться.

Тут фишка в том, что это зависит не от линукса, а от нашего собственного ограниченного понимания проблемы. Что такое топологическое пространство? Специалисту это просто, а остальным - это новая непонятная сущность :)

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-05 18:09:36


vvs> Это просто? Вроде да. Но это только синтаксический сахар.

Ну, ФП это кмк не только синтаксический сахар. Думаю, это тоже простота. Я, кстати, пытался читать книжку по Haskell несколько раз и кажется, начал что-то понимать. :) В каком-то смысле там тоже простота - все эти ленивые вычисления и чистые функции. :) Но применить мне это не где, потому что проще всё-таки писать императивно. Тоже привычка.

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 18:04:36


vvs>> Тут чувствуется одно противоречие. Программист - он еще и пользователь, зачастую очень ленивый.

hugeping> А в чём противоречие?

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

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

hugeping> Сейчас идёт сравнение с ассемблером? Я лично тоже доверяю компилятору. На ассемблере я давно не пишу (хотя сталкиваюсь с ним при отладке). Си -- один из примеров, когда коэффициент красоты (эффективность/сложность) -- очень хороший. Он и создавался как переносимый ассемблер.

Нет. Вот конкретный пример:

def fact x :=
  match x with
  | 0   => 1
  | n+1 => (n+1) * fact n
Это просто? Вроде да. Но это только синтаксический сахар. После развертывания в абстрактный синтаксис это выглядит далеко не просто. Кроме того компилятор генерирует вспомогательный код, который нужен ему, но мне не обязательно понятен. Разве что если я увлекаюсь теорией формальных языков.

Я хотел сказать, что тот код, что мы видим - это вовсе не тот код, который видит компьютер, а посредником выступает компилятор.
P.S. Edited: 2020-12-05 18:06:18

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — hugeping
2020-12-05 17:53:51


Я тут подумал, что есть ещё одна аналогия.

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

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

То-есть в простом подходе, не плодятся сложные уникальные сущности, но по разному комбинируются простые. Это и есть Unix подход. Только Linux уходит от него всё дальше... Понятно, что когда мы говорим о такой задаче, как обработка/редактирование видео, например, Unix подход может превратиться в ту самую "сложную" формулу. Так что, очевидно, простота работает не везде. Но можно к ней хотя бы стремиться.

# Re: KolibriOS
idec.talks
hugeping(ping,1) — leency
2020-12-05 17:38:15


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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-05 17:36:11


vvs> Тут чувствуется одно противоречие. Программист - он еще и пользователь, зачастую очень ленивый.

А в чём противоречие? Во первых, не все эти программисты пробовали разные подходы. Почему не пробовали, это отдельный вопрос. Во-вторых, очень многое решает привычка. Мне лично очень нравится ломать свои привычки. Изучать новое. Поэтому я перепробовал много ОС и много разных подходов. Лично мой опыт -- большинство прибамбасов это просто свистелки, навязанные маркетингом. Я совершенно спокойно программирую без автодополнения кода. Если оно есть - могу с ним. Я не вижу вообще, что это как то критично.

Правда, мне очень тяжело разбираться в сложных интерфейсах. Например, в X Code я так и не освоился, мне проще было бы собирать самому вызывая компилятор с нужными опциями. Потому что это понятно и просто.

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

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

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

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — Andrew Lobanov
2020-12-05 17:14:42


Тут чувствуется одно противоречие. Программист - он еще и пользователь, зачастую очень ленивый. Я знаю кучу программистов, которые не работают не только с ассемблером, но даже с текстом. Им обязательно подавай интерактивную графическую среду с кучей прибамбасов. Что такое пакетная компиляция они даже не слыхали.

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

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

# Re: Эффективность против простоты
std.hugeping
hugeping(ping,1) — vvs
2020-12-05 17:05:02


Сложное, это не просто сумма простых частей. А простое, это не значит низкоуровневое.

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

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

Например, я не готов набирать тексты в редакторе ed, хотя он ещё проще. :) Но я спокойно могу пожертвовать подсветкой синтаксиса. Или современным вебом.

Ещё пример. Средство синхронизации rcu в ядре. Какой прирост они обеспечивают? Стоит ли жертвовать скоростью ради более простого кода? Это выбор, который определяется задачей.

А ещё, кроме простоты есть эффективность решений. Красивое решение, это максимум простоты при максимуме эффективности.

Формула: красота = эффективность/сложность.

Например, ACME редактор прост, но для своей простоты он удивительно эффективен. emacs - может больше. Но сложность emacs несоизмеримо больше.

Ещё пример. latex vs troff. Разница - огромна. Функции -- близки.

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

# Re: Пишу ноду ii/idec на go
idec.talks
Andrew Lobanov(tavern,1) — btimofeev
2020-12-05 16:47:00


AL>> Да. RSS нынче не в почёте.
btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое? Мне кажется начнется бардак если включить хотя бы на нескольких сайтах.

В принципе не переношу всплывающие уведомления. Особенно от сайтов.

# Re: Эффективность против простоты
std.hugeping
Andrew Lobanov(tavern,1) — vvs
2020-12-05 16:47:01


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

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

Мне лично больше нравится первое. Потому что простым вещам сложнее ломаться и их проще починить. А ещё я не плачу за блестящие хреновины, которые больше мешают, чем помогают. Что не мешает, впрочем, мне любить пайтон и лисп, например :)

# Re: Эффективность против простоты
std.hugeping
vvs(ping,12) — hugeping
2020-12-05 15:57:04


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

Это не чтобы вызвать флейм, а чтобы поделиться разными мнениями.

# KolibriOS
idec.talks
leency(ping,15) — All
2020-12-05 14:13:41


Кто-то пробовал http://kolibrios.org/ ?
Операционка размером 1.4 Мб, написана на ассемблере, имеет графический интерфейс и все такое)

# Re: Пишу ноду ii/idec на go
idec.talks
vvs(ping,12) — Andrew Lobanov
2020-12-05 12:39:39


В wordpress еще относительно неплохо сделано. И на github - серединка на половинку.

# Re: Пишу ноду ii/idec на go
idec.talks
vit01(mira, 1) — btimofeev
2020-12-05 08:11:59


btimofeev> AL> Да. RSS нынче не в почёте.

btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое? Мне кажется начнется бардак если включить хотя бы на нескольких сайтах.

Всегда выключал их, потому что они ужасно надоедливые. А на новостных сайтах их никогда включать не стоит, потому что начинают заливать спамом и чернухой

// Вообще, для RSS не так сложно сооружать парсеры

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Пишу ноду ii/idec на go
idec.talks
hugeping(ping,1) — btimofeev
2020-12-05 07:54:26


AL>> Да. RSS нынче не в почёте.

btimofeev> Видимо RSS заменили всплывающие уведомления от сайтов в браузере. Кто-нибудь использовал такое?

Принципиально не использую. Раньше когда-то случайно где-то нажал и сильно задалбывало.