Если вы не поняли…
Если вы не поняли ответ, не шлите тут же требование его объяснить. Используйте те же источники информации, что и при поиске ответа на исходный вопрос (руководства, ЧаВО, Web, опытные коллеги), чтобы понять ответ. Если и после этого вам необходимы разъяснения, покажите, что вы узнали сами.
Например, предположим, я вам ответил: “Похоже, у вас завис zentry; надо проверить”. Тогда плохим уточняющим вопросом будет: “А что такое zentry”? А хорошим: “OK, я прочитал страницу справочного руководства, и про zentry там упомянуто только в опциях -z и -p. Ни в одной из них не сказано, как сбросить зависший zentry. Надо ли использовать одну из этих опций, или я что-то неправильно понял?”
Реакция на грубость
Большая часть того, что может показаться грубостью, в хакерских кругах используется не для оскорбления. Это, скорее, следствие непосредственного, без обиняков, стиля общения, естественного для людей, старающихся решать проблемы, а не казаться другим мягкими и пушистыми.
Когда встречаетесь с грубостью, постарайтесь реагировать спокойно. Если кто-то действительно выходит за рамки допустимого, вполне вероятно, что ведущий списка рассылки, дискуссионной группы или форума поставит его на место. Если этого не произошло и вы выйдете из себя, вполне вероятно, что ставшее причиной этого лицо ведет себя в рамках норм хакерского сообщества, и все будут считать, что именно вы не правы. Это существенно снизит шансы получения необходимой информации или помощи.
С другой стороны, иногда можно встретиться с грубостью и вызовом, не имеющими никаких видимых оснований. Обратная сторона этой медали в том, что такая реакция является вполне приемлемой формой постановки на место действительных грубиянов, - мы отсекаем их недостойное поведение остро отточенным словесным скальпелем. Однако вы должны быть очень уверены в своей позиции, прежде чем пытаться этим заняться. Грань между указанием на невежливость и началом бессмысленного “базара” (в оригинале - flamewar - прим. переводчика) настолько тонкая, что и сами хакеры нередко ее переходят. Если вы - новичок или просто случайный читатель, шансов избежать такой грубой ошибки немного. Если вас интересует информация, а не развлечение, лучше уберите руки с клавиатуры и не рискуйте вступать в подобные дискуссии.
(Некоторые настаивают, что многие хакеры страдают мягкой формой аутизма, или синдрома Аспергера, и у них просто не хватает той части мозга, которая отвечает за “нормальное” социальное взаимодействие между людьми. Возможно, это правда, а может и нет. Если вы - не хакер, представление о хакерах как о больных на голову может вам помочь смириться с нашими странностями. Думайте, что хотите. Нас это не волнует; нам нравится быть именно такими, и к клиническим диагнозам мы относимся со здоровым скептицизмом.)
В следующем разделе мы поговорим о другой проблеме; о своего рода “грубости”, с которой можно встретиться, когда именно вы не правы.
Не реагируйте как неудачник
Вполне вероятно, что вы уже облажались несколько раз в хакерских форумах - так, как описано в этой статье, или аналогично. И вам уже объяснили, как именно вы облажались, возможно, в красках. При всем честном народе.
Когда такое происходит, самая неудачная реакция - жаловаться на случившееся, считать себя оскорбленным словесно, требовать извинений, вопить, задыхаться от гнева, подавать иски в суд, жаловаться работодателям обидчиков, не опускать за собой сидения унитаза и т.п. Вместо всего этого надо сделать следующее:
Смириться. Это - нормально. На самом деле, это хорошо и целесообразно. Общественные нормы не поддерживают себя сами - их поддерживают люди, активно, в открытую, публично эти нормы применяющие. Не думайте, что критиковать должны только в личной переписке - это не так. Не имеет смысла принимать как личное оскорбление чей-то комментарий, что одно из ваших утверждений - ошибочно, или что у него есть другое мнение. Так действуют неудачники.
Были хакерские форумы, где, исходя из неправильно понятой гипертрофированной вежливости, участникам запрещалось посылать сообщения об ошибках в чужих сообщениях. Им было сказано: “Если не хотите помочь пользователю, молчите”. Отток знающих участников в другие форумы привел к их вырождению в бессмысленную болтовню и к полной бесполезности с технической точки зрения.
Выбирайте: преувеличенная “дружественность” (такого рода) или полезность. Помните: когда этот хакер пишет, что вы облажались, и (не важно, насколько грубо) просит вас больше так не делать, он делает это, заботясь, во-первых, о вас, а во-вторых, о своем сообществе. Ему было бы намного проще вас проигнорировать и вычеркнуть из своей жизни. Если вас не хватает на благодарность, сохраните достоинство, - не жалуйтесь, и не думайте, что с вами будут обращаться как с хрупкой куклой лишь потому, что вы - новичок с театрально гиперчувствительной душой и иллюзиями о собственной значимости.
Иногда люди будут переходить на личности, вступать в грязную полемику без видимой причины и т.д., даже если вы и не облажались (или облажались только в их воображении). Возмущаться в этом случае, - способ действительно облажаться.
Эти “скандалисты” - либо ламеры, которые ничего не понимают, но считают себя экспертами, или потенциальные психологи, проверяющие, облажаетесь вы или нет. Другие читатели их либо проигнорируют, либо найдут способы самостоятельно с ними разобраться. Поведение скандалистов создает проблемы для них самих, что не должно вас беспокоить.
Не позволяйте также втянуть себя в бесполезный “базар”. Такие обсуждения лучше игнорировать, разобравшись предварительно, что это действительно бесполезный “базар”, а не намеки на то, почему вы действительно облажались, и не тонко зашифрованные ответы на ваши фактические вопросы (так тоже бывает).
Вопросы, которые задавать не надо
Вот ряд классических глупых вопросов и о чем думают хакеры, когда на них не отвечают.
Вопрос: Где можно найти программу или ресурс X? Ответ: Там же, где и я ее взял, придурок, - найти в Internet. Боже, неужели еще не все знают, как пользоваться Google?
Вопрос: Как можно с помощью X сделать Y? Ответ: Если вы хотите сделать Y, надо так и спрашивать, не предполагая заранее использование метода, который может вовсе не подходить. Вопросы такого вида часто задают те, кто не просто ничего не знает об X, но сбит с толку решаемой проблемой Y и слишком сконцентрирован на деталях своей конкретной ситуации. Обычно лучше игнорировать таких людей, пока они не сформулируют свою проблему лучше.
Вопрос: Как сконфигурировать приглашение командного интерпретатора? Ответ: Если вы достаточно умны, чтобы этим заинтересоваться, вам хватит ума и на самостоятельный поиск ответа.
Вопрос: Можно ли преобразовать AcmeCorp-документ в TeX-файл с помощью программы преобразования файлов Bass-o-matic? Ответ: Попробуйте и узнаете. Так вы, во-первых, узнаете ответ, а, во-вторых, перестанете тратить мое время.
Вопрос: Моя {программа, конфигурация, мой оператор SQL} не работает Ответ: Это вообще не вопрос, и я не собираюсь задавать еще десяток наводящих вопросов, чтобы выяснить, в чем на самом деле состоит ваша проблема - у меня есть дела и поинтереснее. Когда я вижу подобные вопросы, то обычно посылаю один из следующих ответов: • Вам к этому больше нечего добавить? • Ой, это очень плохо. Надеюсь, вы уже это исправили. • И какое это имеет отношение лично ко мне?
Вопрос: У меня проблемы с Windows-машиной. Не могли бы вы помочь? Ответ: Да. Выкиньте этот Microsoft-овский мусор и поставьте себе операционную систему с открытым исходным кодом, например, Linux или BSD.
Примечание: вы можете задавать вопросы, связаные с Windows-машинами, если они относятся к программе, имеющей официальную версию для Windows, или взаимодействующей с машинами под Windows (например, Samba). Просто не удивляйтесь ответу, что проблема - в Windows, а не в самой программе, потому что Windows - настолько “крива” в целом, что зачастую именно так и бывает.
Вопрос: Моя программа не работает. Я думаю, проблема в системном компоненте X. Ответ: Хотя и возможно, что именно вы первым обнаружили очевидную ошибку в системных вызовах и библиотеках, интенсивно используемых сотнями или тысячами разработчиков, но намного вероятнее, что вы просто не разобрались. Серьезные утверждения требуют серьезных доказательств; если вы делаете подобные утверждения, их надо подкреплять ясным и исчерпывающим описанием ситуации, в которой возникает сбой.
Вопрос: У меня возникли проблемы с установкой Linux (или X). Не могли бы вы помочь? Ответ: Нет. Чтобы решить эту проблему, мне нужен непосредственный доступ к вашей машине. Задайте вопрос местной группе пользователей Linux, которые смогут помочь лично. (Список групп пользователей можно найти здесь.) Примечание: вопросы об установке Linux могут быть уместными в форуме или списке рассылки, посвященном конкретному дистрибутиву, если проблема связана с этим дистрибутивом, или в форумах локальных групп пользователей. В этом случае, не забудьте точно описать подробности сбоя. Но сначала тщательно поищите в Web, указав ключевые слова “linux” и все подозрительные компоненты оборудования.
Вопрос: Как взломать пароль пользователя root/получить расширенные привилегии/прочитать чужую электронную почту? Ответ: Да ты просто пошляк, раз хочешь такое сделать, и идиот, раз просишь хакера тебе помочь.
Хорошие и плохие вопросы
Наконец, я собираюсь показать на примерах, как правильно задавать вопросы. Я представлю пару вопросов об одной и той же проблеме, один - заданный глупо, а второй - правильно.
Глупо: Где мне найти информацию о Foonly Flurbamatic? Этот вопрос просто напрашивается на ответ “STFW”.
Правильно: Я попытался поискать в Web с помощью Google по запросу “Foonly Flurbamatic 2600″, но полезных ссылок не получил. Не знает ли кто-нибудь, где найти информацию о программировании этого устройства?
Этот вопрошающий уже поискал в Web и, похоже, у него - реальная проблема.
Глупо: Я не могу скомпилировать код проекта foo. Почему он некорректен? Он думает, что кто-то другой облажался. Самоуверенный тип.
Правильно: Код проекта foo не компилируется в ОС Nulix версии 6.2. Я прочитал ЧаВО (FAQ), но там нет ничего о проблемах с Nulix. Вот запись сеанса компиляции; что я сделал неправильно?
Он указал среду, прочитал часто задаваемые вопросы, показал сообщение об ошибке, и он не думает, что причина его проблемы в ошибке кого-то другого. Этому парню можно уделить немного внимания.
Глупо: У меня проблемы с материнской платой. Не может ли кто-нибудь помочь? Любой хакер на такой вопрос в уме ответит, скорее всего так: “Хорошо. Может, тебе еще помочь срыгнуть и пеленку поменять?”, и нажмет клавишу Delete.
Правильно: Я попробовал X, Y и Z на материнской плате S2464. Когда это не сработало, я попробовал A, B и C. Обратите внимание на странный симптом при попытке сделать C.
Очевидно, что эта фигня не фурычит, но результаты получаются непредсказуемые. Что обычно приводит к тому, что не фурычат многопроцессорные материнские платы с Athlon? Нет ли у кого идей для дополнительных тестов, которые помогут изолировать проблему?
Этот товарищ, напротив, кажется, достоин ответа. Он продемонстрировал способность решать проблемы, а не просто ждет, пока ответ упадет ему с неба.
В последнем вопросе обратите внимание на небольшую, но важную разницу между “Дайте мне ответ” и “Пожалуйста, помогите разобраться, какие дополнительные диагностические действия можно выполнить, чтобы прояснить ситуацию”.
Фактически, форма задания последнего вопроса очень похожа на использованную реально в августе 2001 года в списке рассылки linux-kernel. Я (Эрик) задал тогда этот вопрос. Я наблюдал странные зависания на материнской плате Tyan S2464. Участники списка рассылки предоставили ценную информацию, позволившую мне от этих зависаний избавиться.
Задавая вопрос так, как это сделал я, вы даете людям пищу для размышлений; я сделал для них участие в решении проблемы простым и привлекательным. Я продемонстрировал уважение способностей коллег и пригласил их к обсуждению на равных. Я также продемонстрировал, что ценю их время, описав, по каким тупиковым ветвям я уже прошел.
В конечном итоге, когда я поблагодарил всех и подчеркнул, насколько хорошо прошел процесс решения проблемы, один из участников списка рассылки обратил внимание на то, что, по его мнению, все получилось не потому, что я - “известный человек” в этом списке, а из-за правильной формы постановки вопроса.
Хакеры, в определенном отношении, очень жестокая интеллектуальная элита (в оригинале - meritocracy. Прим. переводчика). Я уверен, что он прав, и если бы я облажался, то был бы раскритикован или проигнорирован, независимо от прежних заслуг. Его предложение описать ситуацию в качестве инструкции для всех остальных стало непосредственной причиной составления этого руководства.
Если ответ не получен
Если вы не получили ответа, не принимайте это на свой счет, как наш отказ помочь лично вам. Иногда участники форума просто не знают ответ. Отсутствие ответа не равносильно игнорированию, хотя извне разницу заметить сложно.
В общем случае, повторная посылка вопроса - не лучшая идея. Это будет воспринято как бессмысленная надоедливость.
Есть и другие источники помощи, к которым можно обратиться, причем часто более приспособленные к нуждам начинающих.
Существует множество групп пользователей в сети и на местах, с энтузиазмом занимающихся программным обеспечением, хотя многие их участники в жизни не написали ни одной серьезной программы. Эти группы часто формируются для того, чтобы участники помогали друг другу и новым пользователям.
Есть также масса коммерческих компаний, с которым можно заключить контракт на поддержку, как крупных, так и маленьких (одни из наиболее известных - Red Hat и Linuxcare, но есть и множество других). Пусть вас не пугает идея платить за поддержку! В конечном итоге, если необходим капремонт двигателя автомобиля, вы ведь отдадите его в мастерскую и заплатите за ремонт. Даже если программное обеспечение ничего не стоило, нельзя рассчитывать, что его всегда будут бесплатно поддерживать.
У популярного программного обеспечения, вроде Linux, на одного разработчика приходится, по крайней мере, 10000 пользователей. Один человек просто не может справиться с поддержкой 10000 пользователей. Помните, что даже если за поддержку приходится платить, это все равно обходится намного дешевле, чем когда приходится покупать еще и само программное обеспечение (да и поддержка закрытого программного обеспечения обычно стоит дороже и выполняется менее компетентными специалистами, чем в случае программного обеспечения с открытым исходным кодом).
Как давать хорошие ответы
Будьте великодушны. Связанный с проблемой стресс может делать невежливыми или глупыми людей, которые таковыми не являются.
На первую ошибку укажите в частном порядке. Нет необходимости публично унижать человека, который, возможно, честно ошибается. Начинающий пользователь может не знать, как искать в архивах или где находится или публикуется список часто задаваемых вопросов.
Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа. Не направляйте людей по ложному пути просто потому, что вам приятно побыть в роли эксперта. Будьте скромны и честны; показывайте хороший пример для спрашивающих и коллег.
Если не можете помочь, не мешайте. Не шутите по поводу процедур, которые могут разрушить среду пользователя - этот болван может принять ваши шутки как руководство к действию. Задавайте дополнительные вопросы, чтобы получить больше информации. Если это делать правильно, спрашивающий кое чему научится, - да и вы тоже. Попытайтесь превратить плохой вопрос в хороший; помните - все мы были начинающими.
Хотя простой ответ RTFM бывает оправдан, когда дается просто лентяю, ссылка на документацию (даже если это набор ключевых слов для поиска в Google) все же лучше. Если уж вы отвечаете на вопрос, давайте ответ по сути. Не предлагайте наспех придуманные обходные пути, если используется в принципе не то средство или неверный подход. Предлагайте хорошие средства.
  |