31 янв. 2015 г.

Интересное в феврале 2011

Добрый день!

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

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

- мы обсудили «задачу Менделеева-Пуассона» о переливаниях;

- проанализировали результаты опроса про Мартина Гарднера (кстати, если хотите порефлексировать на эту тему, то очень рекомендую перевод недавней хорошей подборки по поводу его столетия);

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

Хорошего дня!

Запись о заметках прошлых месяцев стала традиционной, поэтому перечислю предыдущие выпуски: интересное в январе 2011 года, декабре, ноябре, сентябре-октябре, августе, интересное в июле, июне, мае, интересное в апреле, марте, феврале, январе 2010 года, интересное в декабре, интересное в ноябре, интересное в октябре, сентябре, августе, июле, июне, мае, апреле, марте, феврале, январе 2009 года, интересное в декабре, ноябре, октябре, сентябре, августе, июле и июне, интересное в первые три месяца жизни блога.

25 янв. 2015 г.

С днём студента, не попадайте в муравьеворот!

Если вы имеете отношение к МГУ, то помните, что он образован 260 лет назад, из-за чего, вероятно, ощущаете юбилейную радость. Но и если вы обучаете студентов, когда-то были или являетесь студентом, скоро станете студентом или хотя бы видели человека, который где-то про студентов слышал, то поздравляю вас Татьяниным днём!

А теперь к делу:
- ложными аналогиями можно создать забавные иллюзии (см. пример про кризис), чем мы сейчас займёмся,
- но не надо видеть проблему только в манипуляторе, ведь мозг так смешно устроен, что и сам себя прекрасно обманывает,
- мы даже памяти своей не должны бы доверять (см. «Что-то с памятью моей стало» или «A mass experiment in altering political memories»).

К чему это всё? О каком муравьевороте речь?

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

Про козлёнка который умел считать до десяти

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

А ведь вполне может быть (да кого я обманываю? именно так и есть), что мы бегаем по кругу за такими же слепыми муравьями, пока не растратим всю энергию на это жутко нужное дело. Рекомендую найти время на минутное невнятное видеообъяснение — https://www.youtube.com/watch?v=prjhQcqiGQc#t=19s. Если хочется чуть подробнее, то есть ещё википедия.

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

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

Если вы ведёте блог и иногда перечитываете старые записи, то, возможно, задавались естественным вопросом из серии «Каким идиотом нужно было быть, чтобы вот это написать?» Схожие ощущения можно получить при прослушивание записей собственного голоса или просмотре видеозаписей со своим участием, только свой текст читать ещё тяжелее (и полезнее, поэтому здесь существует рубрика лучшее). Но ведение блога в малой степени снижает остроту проблемы, ведь есть личные или вроде бы незначительные моменты, про которые никому не станешь писать. Вот их и надо помещать в дневник. И перечитывать, что думал год/пять/пятнадцать лет назад. Возможно, на следующем обороте это позволит хотя бы обнаружить, что сбой был (мозг хитрый, он прячет от нас следы таких эпизодов). И тогда есть шанс заметить только что пройденный круг. Если повезёт, то удастся даже свернуть с проторенной круговой дорожки, чтобы попробовать найти путь к муравейнику.

А вы ведёте дневник? Давно? Сколько раз возобновляли?

Хорошей вам следующей недели!

15 янв. 2015 г.

Предиктивный набор номера

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

Как мы звоним обычно, например, Алексею Иванову? Как-то так:
1) Разблокировали телефон,
2) Нажали «Записная книжка»,
3) Нажали «2444433», чтобы увидеть сокрашённый список контактов с подстрокой «але» (т.е. Алексеи и Александры преимущественно),
4) Оценили, что набирать его популярное имя целиком, чтобы перейти к вводу не менее популярной фамилии — дело достаточно долгое (пришлось бы набрать следующую последовательность: «444663344»), поэтому решаем двигаться стрелочками вниз и вверх, чтобы скорее долистать до нужного контакта.

Итого, примерно за полтора десятка нажатий кнопок мы совершили нужный звонок. Это не слишком много, можно и потерпеть, если нет нормальных альтернатив. Но они, оказывается, есть! Итак, как мы выполняем ту же задачу, имея предиктивный набор номеров?
1) Разблокировали телефон,
2) Набрали сразу короткое «243» (это чтобы мгновенно попасть в состояние после пункта (3) из предыдущего подхода) — ведь специально для нас сформировался список всех строк записной книжки, которые содержат подстроку, которую можно собрать из букв, находящихся на второй, четвёртой и третьей кнопках, соответственно.
3) И в этом списке можно теми же кнопочками вверх и вниз добежать до нужного Алексея Иванова, а если список всё ещё слишком длинный, то достаточно набрать ещё несколько цифр («463»), чтобы отсеять ещё и Александров из получившегося списка.

Вроде бы сэкономили мы всего один пункт (открытие записной книжки), но на самом деле мы очень разгрузили свои пальцы и голову: не надо набирать длинную последовательность цифр, не надо помнить, какой по порядку идёт буква «л» на кнопке «4» — всё получается заметно быстрее и проще. Кстати, в случае с сенсорными экранами такое тоже иногда используется (диалер смартфона часто оказывается более удобным, чем честная клавиатура записной книжки, так как в крупные кнопки с цифрами проще попасть, чем в маленькие кнопочки с буквами, см. начало поясняющего ролика про RapDialer).

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

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

Хорошего дня!

31 дек. 2014 г.

Что хорошо в нынешнем КВН?

Добрый праздничный день!

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

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

Вот мой набор (в скобках ссылки на некоторые примеры):
1) Фёдор Двинятин (видео),
2) Кефир (видео),
3) Мурманск (видео).

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

Хорошего Нового года! Тёплого общения с близкими! Надеюсь, вы прочитали это сообщение в 2015 году, а ещё лучше — на 2-3 неделе января :) Если будет скучно на длинных выходных, то предлагаю добить задачку «про немагические прямоугольники».

2 дек. 2014 г.

Двоичные немагические прямоугольники

Добрый день.

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

У двоичной матрицы NxM (т.е. в ячейках которой только нули и единицы) мы можем посчитать N сумм значений в строках и M сумм значений в столбцах. Эти суммы иногда могут однозначно задавать матрицу. Например, суммы [1,2,0][2,1] могут быть только у следующей матрицы:
     1 0
     1 1
     0 0

Но иногда суммы задают не одну матрицу. Например, суммы [1,1,2][2,2] соответствуют следующим двум матрицам:
     0 1     1 0
     1 0     0 1
     1 1     1 1

Декабрьское задание состоит в поиске таких сумм, которые описывают ровно 29 разных двоичных матриц. Чтобы исключить тривиальные решения, наложим ещё одно ограничение: матрица должна содержать не более 50 бит. В качестве решения принимаются две строки: в первой N целых чисел и во второй M целых чисел. Произведение N*M должно быть не больше 50.


Если вам интересен такой класс задачек, то давайте поделимся друг с другом в комментариях ответами на следующие вопросы:
1) Придумали ли вы тривиальное решение (более 50 бит, на которое намекают авторы задачи)?
2) Какие количества двоичных матриц вы умеете выражать преложенным способом (в условии задачи есть решения для 1 и 2, а спрашивается про 29, но ведь есть ещё много других чисел)?
3) Придумали ли вы способы «умножать» ранее найденное решение (т.е. получать наборы сумм, описывающих N*k матриц, имея решение для N матриц)?
4) Нашли ли вы решение для 29 матриц и небольшого их размера? Если да, то можете вписать своё имя на сайт IBM, отправив им своё решение (каждый месяц несколько десятков человек пользуются этой возможностью)

Хорошей недели и интересных задачек!

27 нояб. 2014 г.

«Ага, конечно», манипулируй мной

Добрый день!

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

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

Эх, сколько у меня уже было таких диалогов... Проходит это примерно так:

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

И далее, сколько бы я не объяснял, что позиции Ф и Т для меня неприемлемы, собеседник спокойно игнорирует эти фразы, продолжая опираться на собственноручно выдуманную картинку в своей голове. Вы сталкивались с таким? Конечно, в данном каркасе диалога я предельно «сократил сказочку», чтобы выпятить эффект. К счастью, если с такими людьми не приходится работать, то достаточно просто сократить общение с ними, чтобы сэкономить время.

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

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

Вам знакомо это ощущение? А удавалось заметить, когда другие люди поступают аналогично с вами? Т.е. сами «надевают маску», исходя из того, что вы что-то неправильно поняли, а времени объяснять нет. У меня нет медицинского образования, поэтому мои представления о психотерапии основаны лишь на мифах, описанных в популярной литературе. Насколько я понимаю, упоминаемый выше подход (не разрушать чужую картину мира, а воспользоваться пониманием её) — это достаточно стандартное решение. Впрочем, примеры, которые тут сразу приходят в голову, относятся в больше степени к психиатрии, поэтому я не уверен, что здесь было бы правильно проводить параллели.

Хорошего окончания недели!

13 нояб. 2014 г.

Пора выходить из летней спячки

Добрый день!

Интересно, что две следующие фразы имеют один смысл, но отличаются лишь на отрицание перед глаголом: «Илья Весенний давно писал» и «Илья Весенний давно не писал». А чем ещё вас порадовал русский язык за последнее время?

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

Недавно у меня была задача срочно перебросить небольшой груз из одной «дыры» (кругом лес и медведи, самолёты летают регулярно, но с большими интервалами) в другую «дыру» (кругом болота, поэтому дорог нет, а перемещаться можно только на вертолётах, поэтому редко и дорого). Поскольку надо было срочно, то обзвонил все службы экспресс-доставки — они называли сроки 10-14 дней. А потом позвонил в «EMS Почта России», где взялись выполнить эту работу за 8 дней и в 2-3 раза дешевле, чем привычные уху конкуренты. Поскольку посылку надо было доставить срочно, то было решено рискнуть (так как через 10 дней всё равно было бы уже слишком поздно). И что вы думаете? Сложнейшую логистическую задачу Почта России выполнила блестяще, чем поразила и впечатлила. Единственная их ошибка — по телефону назвали не ту стоимость, которую потребовал курьер: по телефону завысили на 20%, поэтому в реальности доставка прошла за 7 суток и даже дешевле, чем обещали. А каков ваш опыт взаимодействия с нашей почтой последнее время?

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

А теперь вопрос ко всем: какие вы знаете хорошие детские языки программирования?
В прошлом году мы вспоминали про Snakes от Gamos (кстати, по этой ссылке в комментариях вами собрано много хороших игр для детей). Если вы не играли в Snakes, то кратко охарактеризую эту игру, чтобы было понятнее, чего я хочу: с помощью достаточно ограниченного визуального языка программирования мы можем научить нашу змею действовать в жестоком мире, потом выпускаем её на арену к другим змеям, чтобы узнать её сильные и слабые стороны, есть даже дебаггер и можно грабить караваны.

Мне эта игра кажется неплохим началом для тех, кто хочет программировать, но не умеет читать, но хотелось бы увидеть более развитые альтернативы. Я не настаиваю на визуальном представлении программы (скажем, Google Blockly мне не кажется осмысленным; ну или я ничего не понимаю в колбасных обрезках), но оно мне кажется куда более естественным для ребёнка, чем текстовое. Главное же, чего хочется — осмысленность деятельности. В Gamos Snakes язык достаточно прост, но неудобен. Приходилось продираться сквозь его корявость, чтобы обеспечить хоть какую-то проворность своей змее. А надо язык, который не мешает освоению базовых алгоритмических конструкций. Знаете такой?

Можно, конечно, довериться целеустремлённости ребёнка (см. «Дорогие мне байты прошлого тысячелетия», предварительно зарядившись энергией хотя бы из этой цитаты: «Там была описана мнемоника и как это выглядит в цифрах — как сейчас помню mov 100,r1 = 12701, 100 — регистр r1 получал значение 100. И проведя не одну бессонную ночь в дизассемблировании чужих программ и поняв, что к чему, я написал свою первую игру»). Но я убеждён, что кроме целеустремлённости здесь ещё надо огромную внутреннюю силу. А как быть с теми, кто её пока не имеет? Хочется подготовить их к решению, например, какой-нибудь из трёх задачек, но для этого им надо набрать чуть-чуть мышечной массы и положительного опыта. Какими средствами можно помочь в этом деле?

Хорошего вам окончания недели!

Понравилась заметка? Подпишитесь на RSS-feed или email-рассылку.

Хотите поделиться ссылкой с другими? Добавьте в закладки:



Есть вопросы или предложения? Пишите письма на адрес mytribune АТ yandex.ru.

С уважением,
      Илья Весенний