Previous Entry В избранное Поделиться Next Entry
О правильных алгоритмах
lex_kravetski
Хочется, знаете, выступить в роли Али Герр — за тем исключением, что она занимается анализом и дебаггингом экзистенциальных алгоритмов, а я сейчас склоняюсь к разбору алгоритмов прагматических.

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

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

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

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

Описанный прагматический баг — не единственный. Я обнаружил их целую кучу. Но расскажу пока только о нескольких.


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


Посыл

«Вы выложили видео не туда, куда бы мне хотелось».

Суть бага

Человек рассматривает себя «клиентом в условиях идеального рынка». Хотя никакой сделки не было, он никому ничем не платил, ему никто ничего не обещал, да и вообще о его существовании даже не подозревали, наличествует мнение «клиент всегда прав». Он вроде как «клиент», который пришёл к продавцу «покапризничать». «У вас прилавок не того цвета и на бейджиках шрифт не тот».

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

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

Приемлемый вариант

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

Правильный вариант

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

Идеальный вариант

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


Посыл

«Титры так делают только лохи. Сразу видно, что вы ничего не понимаете в монтаже видео».

Суть бага

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

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

Вдобавок, человек рассуждает строго «заочно». Он не попробовал оформить именно это видео с применением фокусов Ф1, Ф2, Ф3. Он только лишь подозревает, как это на самом деле будет выглядеть. Он не думает, сколько это займёт времени и сил. Он не знает про возможные технические проблемы и нюансы именно данного материала. Но так ведь хочется показать себя умным и знающим этим «лохам». Глядишь, зауважают.

Приемлемый вариант

Титры можно было бы оформить вот так. Для этого на вкладке «оформление титров» надо выбрать пункт «оформить зачипато», выставить там параметр А в 10 и параметр Б в 15. После этого… и так далее.

Правильный вариант

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

Идеальный вариант

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


Посыл

«А вот при иерархической системе выборов достаточно трёх процентов населения, чтобы нужного президента протолкнуть! Хреновая у вас система!»

Суть бага

Человек рассматривает процесс как битву за собственный авторитет при помощи наиболее авторитетных возражений. Само собой, чужих.

Он прочитал относительно известный текст, запомнил суть примера и теперь «реагирует» им во всех похожих темах. Наверно даже кого-то ему удалось поразить своим мега-знанием. Кого-то, кто не только сам ничего не делает, но даже ничего не читает.

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

Но самое главное: зрителю кажется, будто бы самое важное — это критика. И группа, «отмахиваясь от критики», просто пытается игнорировать реальность (которую, конечно же, объективно преподносит им строго этот случайный зритель).

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

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

Приемлемый вариант

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

Правильный вариант

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

Идеальный вариант

Друзья мои, я обнаружил в ваших текстах указание на проблему диспропорции и варианты её решения. Однако путём тщательных раздумий, я нашёл решение, которое ещё лучше. Я соизмерил его с другими вашими построениями — оно ничему не противоречит. При этом, оно более устойчиво в плане А, Б и В, суровых же недостатков в сравнении с вашим решением я не увидел. Готов прийти на встречу с вами, изложить обдуманное и продолжить дальнейшее сотрудничество в том же ключе.




>> «зачем вы обсуждаете какие-то там проекты? Надо же для начала прийти к власти, а до этого все разговоры о проектах — пустой звук»

Вот это-то меня всегда и вымораживало - "сначала прийти к власти". Каким путём? Зомбированием? Гипнозом? Военным переворотом? Обещаниями 3 жён каждому и помыть сапоги в Индийском океане?

Суть желательных изменений как раз в том, чтобы к власти приходить могли только те, кто:
- знает, ЧТО нужно делать,
- знает, КАК он это будет делать,
- рассказал об этом всем и получил поддержку.
Выбирать и приводить к власти нужно не конкретного человека, а программу. А программа - это не только "что делать", но и "как делать".

Re: Ответ на вашу запись...

lex_kravetski

2011-03-11 10:41 (UTC)

Полностью согласен. Ты в Москве живёшь?

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

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

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

Тестеры, которые пишут в багтрекер «что-то не работает», не только бесполезны, но и вредны.

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

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

Всем критикам надо этот пост читать как мантру 3 раза в день в течение месяца. Может тогда поймут.

«зачем вы обсуждаете какие-то там проекты? Надо же для начала прийти к власти, а до этого все разговоры о проектах — пустой звук»

Хе-хе, это как у меня было в комментариях: пока неизвестно, как это все осуществить, оно все является фигней.

Людям почему-то часто кажется, будто кто-то начинает решать задачу сразу с воплощения её решения в жизнь.

>> «зачем вы решаете задачу, ведь для её решения необходим некоторый фрагмент её решения, а раз у вас его нет, то искать решение бесполезно».

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

Не смейте его критиковать. Он решает задачу.

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

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

Edited at 2011-03-11 11:32 (UTC)

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

Честно говоря, сразу отчего-то вспомнилась резуновская байка про «Главное управление специальных красителей». Хотя там человек не стороны был, а в теме - что да, то да.

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

«зачем вы обсуждаете какие-то там проекты? Надо же для начала прийти к власти, а до этого все разговоры о проектах — пустой звук»

Дихотомия "пути" и "результата". Глупо сомневаться, что на развилке выбрать можно только "путь".


Уточните, пожалуйста, среди выбора "проекты" и "власть" что является "путём" и "результатом"?

> "зачем вы обсуждаете какие-то там проекты? Надо же для начала прийти к власти, а до этого все разговоры о проектах — пустой звук".

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

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

Вот примерно поэтому же и не стал писать вопросы/замечания. :) Бо, во первых я и так знаю нахер это куда, а во вторых, и правда, на большинство из оных у меня ответов нет. Хоть и размышляю над этим уже лет 10.
Даже он Паркинсона перечитал надысь от растройства, но понятнее про иерархии управления все одно не стало. :) Да и информации мало, пока только первую часть смотрел. По оной, к примеру, ни фига не понятно, чем принципиально предлагаемая система народовластия отличается от того, что в Ливии. Но последняя вроде как не показывает особой устойчивости, да и динамики развития - тоже. Ну так и по остальным вопросам из первой части, исторические прецеденты как не глянешь - сплошные вилы.
Мож дальше будет понятнее. Но мне кажется любой отклик - это хорошо, на глупые можно забивать, но в целом - хороший чек лист получается. А уж по какому алгоритму с ним работать менеджер проекта решает :)

Re: Ответ на вашу запись...

lex_kravetski

2011-03-11 14:06 (UTC)

> в Ливии. Но последняя вроде как не показывает особой устойчивости, да и динамики развития - тоже.

Ливия, надо отметить, из страны, населённой дикими бедуинами, стала самым мощным государством Африки, после, разве что, ЮАР. И это всё произошло за время действия означенной «системы». Которая, конечно, на социализм-2.0 похожа одной только частью одной только части.

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

Re: Ответ на вашу запись...

lex_kravetski

2011-03-11 17:08 (UTC)

Пацан, либо изложи решение, либо воздержись от комментариев.

Ну ок, а если я не критикую, а в корне не согласен с тем, что обсуждается. Какой может быть конструктив? Сама цель и задача представляются бессмыссленными, измышления - растратой времени и таланта, лекция - хорошая лекция - но о плохом. Вы действительно последовательно, возможно, немного медленно, но доступно объясняете, и на это люди "покупаются", потому что такого продукта мало, и это интересно, как игра в civilization на 486-ом.
Возможно конструктивным будет предложение попробовать реализовать подходы на практике. Но не замахиваться сразу на страну, а реализовать это в масштабах компании. Поверьте, это безумно интересно - логистика в самом широком смысле слова. Допускаю, что такой опыт у Вас есть, но неужели он настолько успешный, что пора переходить на уровень страны?
Интересное совпадение: вчера послушал видео про распределение, кое-что насторожило в уверенности, что задача легко решается приближенно. А уже сегодня говорил с человеком, который был свидетелем, как в позднем СССР пытались то же самое сделать - безуспешно. Погрешности определения спроса, намеренные и случайные искажения статистики, необходимость учета кучи факторов - десятки и сотни тысяч параметров, плюс высокая обусловленность задачи - вот что похоронило тогда такие проекты, а не недостаток вычислительных мощностей.

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

Вы попали в ТОП30 самых обсуждаемых тем в блогосфере.
Почитать текст со всеми комментариями по ссылке.
Это Ваш 11-й ТОПовый пост за последний год.
Посмотреть статистику автора можно в карточке топблогера.

На моем примере.

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

Достаточно много общаюсь с людьми на специализированных форумах посвященных строительству.
Раньше я пытался объяснять почему и как, теперь отвечаю "можно, нельзя, 20 см." без объяснения почему, желающих узнать подробнее отсылаю к поисковику или к книгам. Людей которые понимают, ( Их видно по 1-2 коментариям), в вопросе, я и выслушиваю и бывает меняю свою точку зрения.

Солидарен с лексом в этом вопросе.

Нежелание изобретать велосипед вполне здравое. Оно позволяет забороть копирайт и забраться большим и маленьким Ньютонам прямо на «плечи гигантов». Подталкивать студентов к навыкам решения задач (и освоение при этом предмета) тоже не лишне. Но «велосипед» - это что-то уже существующее. Зачем мутить, называя изобретение несуществующего «велосипедом»? Или «Социализм 2.0» уже спроектирован до нас?

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

Здесь Вы полностью изменили смысл сказанного, зменив необходимое условие полным объемом понятия.

Сказано было "на самом деле", что "зачем решать задачу, если для ее _выполнения_ нет необходимого условия (зачем придумывать алгоритм программы, если нет компилятора (интерпретатора), "человек" думает, что его сначало нужно достать, потом уже писать программу). Откуда в общем-то нужно было и плясать, но никак не софистничать.

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

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

Вы читаете lex_kravetski