Верхом на чемоданах - Девиртуализация [entries|archive|friends|userinfo]
Masha

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

Девиртуализация [Sep. 23rd, 2004|04:35 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
[Current Music |Мумий Тролль - В рейс]

Несколько дней назад в ABBYYевой маршрутке я в лицо познакомилась со своей френдом по имени [info]baghera@lj. А сегодня в маршрутке был еще и [info]asd@lj, с которым я тоже дружила (френжила?) пока только виртуально.
Оба -- замечательные.
Отчасти, например, потому, что а) показали мне столовую, б) не послали меня подальше, когда я за едой завела нудеж об хранении и синхронизации файлов.
В процессе нудежа был озвучен такой вопрос. Ясно, что запросы на подтверждение удаления (а также переименования, копирования и т.д.) пользователь, как правило, подтверждает совершенно машинально, потому что привык к ним. Реализована ли где-нибудь такая мулька: запрос выглядит каждый раз по-разному -- то красный, то зеленый, то крупным шрифтом, то мелким, -- чтобы он действительно привлекал к себе внимание? Если да, то где? Если нет, то нужна ли такая возможность?
LinkLeave a comment

Comments:
[User Picture]
From:[info]brem@lj
Date:September 23rd, 2004 - 07:52 am
(Link)
Не знаю, реализована, но по-моему нужна. С опцией, разумеется, ее отключать.

Ведь можно же просто отключить и обычные запросы (удалять сразу без вопросов), но почти никто так не делает из моих знакомых.
[User Picture]
From:[info]mashaaaa@lj
Date:September 23rd, 2004 - 08:18 am
(Link)
А как же, любую возможность нужно уметь отключать!
[User Picture]
From:[info]gogabr@lj
Date:September 23rd, 2004 - 07:58 am
(Link)
Windows Commander (который теперь Total) таким образом выводил напоминание о регистрации: при старте говорилось "Вообще-то надо регистрироваться, но сейчас, если хочешь, нажми кнопку 2", и внизу три кнопки. Нужная кнопка каждый раз выбиралась случайно.
[User Picture]
From:[info]orie@lj
Date:September 23rd, 2004 - 11:32 am
(Link)
что дико раздражает.
[User Picture]
From:[info]enia_enka@lj
Date:September 23rd, 2004 - 09:16 am
(Link)
Бесполезно, по-моему, будет токо еще сильнее раздражать. Если человек чего решил удалить, так уж все равно удалит, а если случайно нажал на Дел, так и простого вопроса хватит.
From:[info]vap@lj
Date:September 23rd, 2004 - 10:43 am
(Link)
Закончится тем, что пользователь будет не думая шмякать не только на обычные запросы подтверждения, но и вообще на все окошки независимо от их внешнего вида :)))
Если немного помечтать: думаю, что оптимально было бы сделать функцию "отмены последнего подтверждения". Или даже целый стек доступных для отмены подтверждений. Но в нынешней парадигме это труднореализуемо - внутри прикладной программы еще можно этого достичь, но многие системные операции просто не подразумевают возможности их отмены.
[ехидствуя над собой] Ага, и будут выскакивать запросы вида "Вы уверены, что хотите подтвердить отмену подтверждения отмены только что подтвержденного удаления файла X?" :)
[User Picture]
From:[info]max_ushakov@lj
Date:September 23rd, 2004 - 10:54 am
(Link)
system-wide undo -- тут всё время об этом Беркгаут говорит :)
Отмена последнего действия, даже удаления файла -- это было бы правильно.
From:[info]vap@lj
Date:September 23rd, 2004 - 11:29 am
(Link)
А Беркгаут - это кто?

Насчет system-wide undo - имхо, это тяжело реализовать на нынешних операционных системах. По крайней мере, без необходимости накручивать на систему еще один слой абстракции между ядром и пользовательским окружением.
[User Picture]
From:[info]gogabr@lj
Date:September 23rd, 2004 - 01:02 pm
(Link)
А как должен выглядеть system-wide undo в многопользовательской системе?
[User Picture]
From:[info]mashaaaa@lj
Date:September 23rd, 2004 - 01:16 pm
(Link)
Так если она многопользовательская, то всякое действие совершается каким-либо пользователем, который может отменять только свои действия.
[User Picture]
From:[info]gogabr@lj
Date:September 23rd, 2004 - 01:26 pm
(Link)
Но что если какое-либо действие другого пользователя уже сделано с учетом отменяемого?
Это означает, что такой undo будет не откатом во времени, а именно "обратным действием" -- простая метафора не работает.
[User Picture]
From:[info]mashaaaa@lj
Date:September 23rd, 2004 - 02:02 pm
(Link)
А сохранять состояние системы на каждый момент перед измемением? В этом же вся фенька, или я что-то не так понимаю?
Пусть бы уже, действительно, пришел какой-нибудь лесник в духе Беркгаута и меня прогнал.
[User Picture]
From:[info]gogabr@lj
Date:September 23rd, 2004 - 03:47 pm
(Link)
Вот ровно это-то и не получится. Потому что при восстановлении старого состояния отменятся все действия других пользователей, произведенные со времени твоего отменяемого. Пример -- в следующем комменте [info]vap@lj.
Вообще же:
1. Как правило, undo устроен не так. Потому что обычно состояние системы большое, а изменение маленькое. Представь себе, что ты редактируешь мегабайтный файл и стерла в нем букву. Так, как ты описываешь, придется хранить текущее состояние файла плюс такое же огромное предыдущее (и так на всю глубину undo). На самом деле достаточно запомнить, что это была за буква и где стояла.*
2. Видимо, идея undo в принципе хорошо подходит далеко не ко всем программам. Она идеальна, когда есть активный пользователь и пассивные данные, с которыми он работает и которые не меняются без его ведома. А как только начинается взаимодействие с внешним миром, undo теряет смысл. Что такое, например, undo в чате?
3. Как только система становится многопользовательской, даже обычные файлы оказываются активной средой -- с ними работают другие.
---
*Примечание для программистов: с другой стороны, редактор может быть построен на каких-нибудь Окасакинских структурах -- и тогда, действительно, достаточно сохранять копию, и больших потерь не будет, поскольку большая часть структуры разделяется.
[User Picture]
From:[info]mashaaaa@lj
Date:September 24th, 2004 - 08:46 am
(Link)
Унду в чате -- это чтобы равносильно команде: "Данную фразу в лог не записывать!"
Унду в системе типа uupc -- чтобы равносильно стиранию письма перед отправкой, пока оно лежит-копится в спуле. %-)
From:[info]vap@lj
Date:September 23rd, 2004 - 02:56 pm
(Link)
Интересная задачка.
Ну, например, можно ввести понятие "общение с внешним миром". То есть, все действия, приводящие к выдаче некоторого внешнего воздействия (внешнего по отношению к выч. системе и пользователю), не могут быть откатываемыми (или могут быть, но только в той части, которая "осталась" внутри выч. системы). Тогда все действия, "пересекающие" границы "выч. система + один ее пользователь" объявляются внешними воздействиями и их результаты не откатываются. Пример - в /tmp лежал файл, пользователь 1 его стер, пользователь 2 решил его открыть и обломался, пользователь 1 отменил удаление файла. Файл обратно появился, но пользователь 2 уже успел обломаться.
[User Picture]
From:[info]gogabr@lj
Date:September 23rd, 2004 - 03:52 pm
(Link)
В таком случае для пользователя оказывается трудно -- а заранее просто невозможно, -- предсказать, какие действия будут отменимыми, а какие нет.
Кроме того, одно неотменимое действие закрывает доступ ко всем отменимым, которые были до него.
Беркгаут, ау! Сне-гу-роч-ка!
[User Picture]
From:[info]besm6@lj
Date:September 27th, 2004 - 05:22 am
(Link)
Пользователь 2 может попробовать и еще раз. Мне сразу вспомнилось эмпирическое правило Витуса Вагнера про то, что время устаревания кэша отрицательной информации в мире Open Source - около полугода. Вот ровно то самое, но в действительности. Живем же.
[User Picture]
From:[info]mashaaaa@lj
Date:September 27th, 2004 - 05:57 am
(Link)
Ой, тогда нормальной работы не будет, а все только будут тыкать в кнопку "отменить", -- кто кого перетыкает...
А нельзя так: Вася стирает файл, а он на самом деле остается гдубоко в системе -- в последней версии. Потом Петя открывает файл на запись, а ему система говорит: знаешь, файл я тебе открыть могу, но вообще-то его Вася уже стер. Хочешь -- восстанавливай, редактируй. Петя говорит: давай, хочу. Потом Вася говорит системе: а восстанови-ка мне файл! А система ему: тебе как, в твоей версии, как было перед удалением, или в Васиной новой? Дальше разбираются Петя с Васей лично.
[User Picture]
From:[info]besm6@lj
Date:September 27th, 2004 - 07:15 am
(Link)
Ну, в жизни-то мы и посложнее задачки решаем. Да и тот же CVS, о котором тут же рядом шла речь, в условиях конкурентной разработки - внесли мы с коллегой пару изменений, а они возьми и подерись (что характерно, могли и не подраться). Ну и что? Кто первый встал, того и грабли. Резолвит конфликт и продолжает. Нормально работается. В обычной жизни, к которой CVS не прикрутишь, тяжелее. Но тоже лечится, и тоже порой результат ошибочного действия исправляется. Не всегда путем Undo :-), но и не всегда путем создания того, что надо, с нуля.

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

Я, впрочем, не имел в виду, что система достанет Пете файл, удаленный Васей. Я имел в виду, что система расскажет Пете, что файл удален. Если Петя знает, что он там был, и имеет право его восстановить - результатом будет восстановленный файл, и Васе скажут "ваш файл восстановлен еще вчера". Если не имеет права (в нашем исходном примере, с /tmp - не имеет) - он может вступить во взаимодействие с Васей уже на этом этапе. Если этого почему-то не получилось, он может попробовать еще раз послезавтра - вдруг Вася завтра решит его восстановить?
[User Picture]
From:[info]mashaaaa@lj
Date:September 27th, 2004 - 03:25 pm

совсем в дебри ущли

(Link)
Так это и получается перетягивание стула вместо работы, разве нет?
[User Picture]
From:[info]besm6@lj
Date:September 28th, 2004 - 08:41 am

Re: совсем в дебри ущли

(Link)
А, то есть у вас дома именно так все запущено? Не, у нас без труда и очень быстро получается договоренность, и работа идет дальше.
[User Picture]
From:[info]mashaaaa@lj
Date:September 28th, 2004 - 08:46 am

Re: совсем в дебри уШли

(Link)
У нас дома ничего не запущено, я же над своими файлами одна работаю. Я-то говорила про Ваш пример:

...Если этого почему-то не получилось, он может попробовать еще раз послезавтра - вдруг Вася завтра решит его восстановить?

Это же общее рассуждение, а не про конкретною ситуацию.
[User Picture]
From:[info]besm6@lj
Date:September 28th, 2004 - 09:54 am

Re: совсем в дебри уШли

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

> Это же общее рассуждение, а не про конкретною ситуацию

Для опровержения общего утверждения достаточно единственного контрпримера. Программа пятого класса современной неплохой школы.
[User Picture]
From:[info]mashaaaa@lj
Date:September 28th, 2004 - 01:28 pm

переход на личности

(Link)
Да что ты меня этим мужем тыкаешь? Я незамужем! %)
[User Picture]
From:[info]besm6@lj
Date:September 28th, 2004 - 01:43 pm

Re: переход на личности

(Link)
Я для примера.
[User Picture]
From:[info]igaro@lj
Date:September 23rd, 2004 - 10:47 am
(Link)
(озабоченно) А за месяц другие МИЛЫЕ КОЛЛЕГИ не могли тебе столовую што ли показать?!
[User Picture]
From:[info]max_ushakov@lj
Date:September 23rd, 2004 - 10:53 am
(Link)
Я думаю, ты сама бы скоро стала красной или зелёной...

Мне эти вопросы только для того, чтобы случайно (попав пальцем не туда) не удалить файл. А чтобы этот вопрос заставил задумать, надо ли удалять этот файл -- это нет, не бывает.
[User Picture]
From:[info]orie@lj
Date:September 23rd, 2004 - 11:33 am
(Link)
мне кажется - не нужна.
если человек не читает - сам дурак.
если они будут красные и зелёные, очень быстро снизится "порог чувствительности", и всё станет, как было.
[User Picture]
From:[info]mashaaaa@lj
Date:September 23rd, 2004 - 01:17 pm
(Link)
Нет, он не сам дурак. Приедается. Знаешь, у машинистов в кабине есть такая кнопочка, которую нужно нажимать раз в пять минут, а то поезд решит, что машинист заснул, и остановится. Так вот известно, что с машинистами жены разводятся из-за того, что они ночью во сне эту кнопку на женах нажимают.
[User Picture]
From:[info]besm6@lj
Date:September 27th, 2004 - 04:29 am
(Link)
Раскин обосновывал, почему это тоже не помогает. И в принципе даже рассказывал примерно, как на самом деле надо.
[User Picture]
From:[info]mashaaaa@lj
Date:September 27th, 2004 - 05:06 am
(Link)
А как? Расскажите, пожалуйста, или сошлите, где читать.
[User Picture]
From:[info]besm6@lj
Date:September 27th, 2004 - 05:27 am
(Link)
http://www.books.ru/shop/books/25835 , http://www.bolero.ru/product-22298540.html . Живьем есть у меня и подозреваю, у Беркгаута.
[User Picture]
From:[info]mashaaaa@lj
Date:September 28th, 2004 - 02:04 pm
(Link)
У Вас тоже в переводе? А он читабелен?
[User Picture]
From:[info]besm6@lj
Date:September 29th, 2004 - 05:34 am
(Link)
Да. Да, вполне.