Март 2010

Молчание!

17.03.2010

Сразу несколько моих знакомых утратили доступ к своим аккаунтам в ICQ, ВКонтакте и др.

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

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

То есть, любой твой ответ на спам будет прочитан следующим образом: “Я читаю ваши сообщения. Присылайте еще.
Никогда ничего не отвечайте на спам!

Большая работа должна выполняться автоматически

09.03.2010

Таблица умножения в Excel
Огромные объемы информации вырабатывают хорошую привычку не пытаться обработать их вручную.

В конце 90-х я работал преподавателем в одной фирме. Вёл компьютерные курсы для начинающих. Обучал людей работе с Word’ом и Excel’ем.
В качестве проверки усвоения давал студентам такое задание: сделайте в Excel’е таблицу умножения. 10 на 10, как в школе.
Студенты должны были написать в ячейке формулу =R1C*RC1 и размножить ее на все ячейки. Но некоторые принимались вручную заполнять строки числами: 2, 4, 6, 8, 10 и так далее.
Я тогда говорил, что задание может увеличиться. Таблица умножения не до 10, а до 30. Или до 50. Задание будет увеличиваться до тех пор, пока не отпадет желание делать все вручную. Заполните таблицу умножения размером 50 на 50.

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

Именно полностью автоматической. Есть желание хоть что-то делать вручную? Окей, сейчас подвезут миллиард фотографий, сиди, обрабатывай.

Злой властелин Пользователь

02.03.2010

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

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

Если всего этого не учитывать, то программа будет как карточный домик. До поры, до времени стоИт, но малейшее колебание — и всё рушится.

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

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

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

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

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