Later Ctrl + ↑

Про выбор технологий

Выбор инструментов и технологий должен быть обусловлен критериями, в которых строится проект. Бюджет, размер команды, планы на будущее, опыт людей, с которыми нужно будет работать – все влияет на выбор инструментов. Молодые амбициозные технологии хороши для домашних проектов так как цены ошибки невелика, а шанс, что потенциал технологии будет соответствовать заверениям маркетологов, присутствует.

Проверенные временем, опенсорсные, на которые уже завязано много работающего кода – для потенциально долгоживущих за счет инертности. Бывает, лучше выбрать кривоватое решение с большим коммьюнити, чем прекрасное решение “в точку” без единой живой души, кто им пользуется.

Тем, кто убежден, что “популярность === высокое качество”, у меня плохие новости: ваше видение мира не соответствует действительности.

Для быстрого прототипирования нужны уже известные, ненакладные во времязатратах инструменты.

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

Модель мира. Часть 1

Часть 2

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

Из-за простоты мира наблюдения “если УСЛОВИЕ, то РЕЗУЛЬТАТ” можно предсказывать, зная только условие. Такие предсказания – ключ к выживанию наших далеких предков. Если солнце село, значит оно вскоре встанет. Если съесть этой травы, умрешь. Это золотой век (точнее миллион лет) абсолюта: все знания абсолютны.

Так привык работать наш мозг, и он был успешен. До совсем недавнего времени.

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

Бояться змей – не стать серпентологом. Модель “змея = плохо” ломается. Змеиный яд, оказывается лечит. Не все растения вредны. Модель их понимания их выстраивают ботаники.

Знания наших предков зачастую упрощенные модели о мире, с допущениями, ошибками, и багажом предрассудков. Меня удивляют серьезные ученые, дающие отсылки к “народной мудрости”. “Утро вечера мудренее” работает, а лечение ран землей – нет.

Мошенники и иллюзионисты используют особенность нашего мозга строить наиболее вероятную модель происходящего. Оцените начало ролика https://www.youtube.com/watch?v=QcQxFkHGVvc

Информационный перекос, считай контроль государства над СМИ – способ заложить неверную модель представления о мире своему народу.

Неработающая модель мира может формироваться случайным образом, как следствие. Например идеал женского тела сформирован рекламой. И нравятся человеку толстушки. А вокруг культ костей. Куда ему податься? Отстаивать свою позицию, или довериться большинству? Когда все вокруг говорят, одно, ты думаешь иначе? http://youtu.be/MoeQ3I7BRpY?t=18m

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

Иногда модели не соответствуют действительности. С приходом нового СЕО у компании растет прибыль. СЕО связывает успех со своим управленческим гением. Это его модель. А на самом деле весь рынок на подъеме, и любое решение привело бы компанию к текущим прибылям. Читай одураченные случайностью.

P.S. годная статья в тему: Почему возникают теории заговора и как с ними бороться

Интеграция dash в alfred

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

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

open dash://forEach

, пишем скрипт открытия даша, куда аргументом передаем выделенный текст. Готовый воркфлоу: https://github.com/podgorniy/alfred-dash/blob/master/Dash.alfredworkflow?raw=true
После установки не забудь назначить хоткей для запуска воркфлоу. У меня это

ctrl+shift+d

.

Отладка стилей динамического DOM-а

Под отладкой я принимаю необходимость подкрутить свойства стилей узла через вебинспектор, и сразу же увидеть результат применения. Осложняющим фактором будет видимое отсутствие элемента на странице. Элемент может быть не виден до определенного события. Может быть несколько причин невидимости. Рассмотрим случаи:

Случай 1. Тривиальный
Элемент находится в DOM, но скрыт, и появляется при наведении мышки на своего родителя.
В этом случае удобнее воспользоваться возможностью вебинспектора форсить состояние элемента будто на него наведена мышка. Обрати внимание, что элемент, на котором зафорсен hover, подсвечивается оранжевыми точками.

Страница для тренировки: http://dmitrypodgorniy.com/demos/dynamic-visibility/hover.html
В динамике:

Случай 2. Терпимый
Элемент добавляется и удаляется из DOM динамически. При этом DOM сам по себе не сильно изменяется. Такое поведение можно встретить на несложных сайтах с плагинами-меню. Чтобы отладить стили всплывающего элемента, словим момент добавления элемента в DOM с помощью установки breakpoint на мутацию DOM-а. Находясь в режиме отладки, хром не выполняет скрипты, которые должны бы скрыть элемент, но позволяет изменять стили элемента.

Не забудьте убрать breakpoint после того, как закончите отладку, чтобы не попадать в отладчик каждый раз при модификации DOM. Список всех breakpoint можно найти во вкладке “Sources”

Страница для тренировки: http://dmitrypodgorniy.com/demos/dynamic-visibility/dynamic-dom.html
В динамике:

Случай 3 (запущенный)
Элемент добавляется и удаляется с помощью js или с использованием хитрых стилей. При этом с первой попытки не удалось понять механику добавления, а DOM страницы меняется очень уж часто, и подход из предыдущего случая не помогает.

Идея – попасть в режим отладки прямо из консоли, введя debugger. При этом не потеряв фокус на странице. Помогает хитрость: нужно скрыть консоль, выполнить действие, чтобы элемент появился, открыть консоль (в этот момент она получает фокус, но фокус со страницы не пропадает), напечатать debugger. Теперь, в режиме отладки, можно менять стили, а элемент не будет скрываться, пока мы не выйдем из этого режима.

Страница для тренировки: http://dmitrypodgorniy.com/demos/dynamic-visibility/hover.html
В динамике:

Что почитать. Крисс Фрит “Мозг и душа: как нервная деятельность формирует наш внутренний мир”

То, что мы знаем о мире – модель, построенная мозгом. Мозг постоянно вносит поправки в эту модель.

Один из способов изучить как мозг строит модель мира – исследовать отклонения в построении модели. Например наблюдая за людьми, имеющими нарушение мозга. Упоминаются случаи, похожие на описанные в книге Оливера Сакса “Человек, который принял жену за шляпу”.

Еще одна мысль – мозг работает по принципу постоянного уточнения существующей модели. Но он не может создавать модель на пустом месте. Ему нужна исходная информация, предпосылки после проверок которых мозг будет обновлять существующую модель. Эти предпосылки заложены в мозгу в результате эволюции (считай те организмы передавали гены, формирующие предполсылки, которые смогли выжить. см. Ричард Докинз “Эгоистичный ген”). Эти предпосылки и эксплуатируются создателями иллюзий.

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

Эффективность обучения можно измерить с помощью формулы Бейса. Открытию Бейса уделено несколько глав. На хабре годная подброрка ссылок про этого парня: http://habrahabr.ru/post/219721/.

Упоминается сенсорная депривация (в книге про Фейнмана уже было). Все равно мозг будет пробовать строить модель.

Книга крайне рекомендуется к прочтению тем, кто хочет лучше понять себя и окружающих.

Автоматический репост из gplus в twitter и facebook

Первый шаг:
Превратить поток публичных сообщений g+ в rss фид. Подобная функциональность не встроена в g+, поэтому требуется посредник. Есть несколько сервисов, которые умеют генерировать RSS.

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

Второй шаг:
Воспользоваться сервисом ifttt. Можно собрать свои рецепты, или использовать готовые (не забудь подменить источник RSS) “если новый пост в RSS, запостить в твиттер” и “если новый пост в RSS, запостить в фейсбук”.

Что почитать. Гиппенрейтер “Общаться с ребенком – Как?”

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

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

Разрешить этот процесс единственным действием невозможно, и часто вредно.

В книге рассмотрены конкретные ситуации, даны указания к действию. Книга будет интересна родителям, учителям и менеджерам.

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

Earlier Ctrl + ↓