• Интересующимся мозгом/ИИ: ссылки на почитать

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

      Этот набор (порядка 400 ссылок) ни в коей мере не претендует на полноту или объективность. Наоборот, приглашаются все желающие дополнить и исправить (например раздел «Онлайн Курсы» подозрительно пуст). Если будет интерес, буду апдейтить этот пост новыми линками + апдейты отдельными постами оформлять.

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

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

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

      Знание - сила!
    • Государь: алгоритм

        «Государь» Макиавелли — одно из моих самых любимых произведений. Являясь руководством непосредственно правителю, я считаю, эту книгу обязан прочесть каждый начальник/директор. И хотя она уже устарела, думаю было бы весьма полезно держать ее советы у себя в голове.

        Но бывает тяжеловато. Не только из-за объема информации, но еще и потому, что в зависимости от ситуации Макиавелли дает разные советы.

        «Было бы неплохо структурировать», — подумал я.

        Результатом мысли стал алгоритм принятия решения, представленный в картинке ниже и созданный исключительно по «Государю». Остальные советы, которые не определены ни под одну ситуацию и которые должны выполняться в любом случае, поданы ниже списком. Уверен, каждый сам сможет экстраполировать рекомендации правителю на должность руководителя.

        Под катом картинка 1920x1573 px
      • Почему Facebook не стоит $100млрд (или что такое бизнес)

          image

          Согласно экспертным мнениям, примерная оценка стоимости Facebook после выхода на IPO составит $100 миллиардов долларов США. Детище Цукерберга встанет рядышком с такими гигантами как Дисней ($70 млрд), Биллитон ($72 млрд), Амазон ($82 млрд) и Макдональдс ($101 млрд). Все восторженно хлопают в ладоши и считают примерные доходы с акций в первый год торгов.

          Давайте на время отойдем от общей эйфории, и подумаем над происходящим. Внутри я расскажу вам небольшую историю и предложу, пользуясь открытыми источниками информации, немного посчитать. А чтобы было совсем не скучно, для сравнения с Фэйсбуком возьмем одну уже упомянутую выше компанию с примерно такой же рыночной капитализацией.
          Читать дальше →
        • Искуственный интеллект с нечеткой логикой в аркадной игре

          Введение или как я писал свой первый ИИ


          Доброго времени суток. Я написал свой первый искуственный интеллект много лет назад, когда учился в колледже. Тогда это был ИИ для змейки в необычной для змеек игре — Serpent's Madness (ссылка ведет на мой сайт игры), в которой последние могут двигаться в любом направлении. Скриншот ниже демонстрирует это:



          Тогда это был детерминированный алгоритм, т.е. алгоритм с четкой последовательностью действий, когда на каждом шаге можно точно сказать, что будет на следующем. Выглядел он приблизительно так
          Читать дальше →
        • Бизнес-аналитика: «Как правильно написать список требований к системе?», Алистер Коберн, обзор часть 1

          • Translation
          Книга на мой взгляд очень интересная, по секрету поделюсь, что я прочитала ее не с начала, скорее — с конца — в начало, поскольку все самое интересное, включая словарь и сферы применения в рамках сбора требований, все это написано как раз в конце книги. Даны четкие рекомендации как составить список требований и описать систему с разной степенью детализации, начиная от общей концепции, как должно работать приложение, до постраничного составления сценариев.
          Для чего она нужна — чтобы лучше понимать, что все-таки делают исполненные очей бизнес-аналитики, когда приходит запрос — хочу сайт, как там по ссылке.
          Читать дальше →
        • OAuth: описание протокола простым и понятным языком

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

            Пример кросс-авторизации


            Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
            Под катом - повествование с примерами
          • Нейронная сеть против DDoS'а

              Предисловие


              Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

              И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

              Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

              Читать дальше →
            • Иерархическая Темпоральная Память (НТМ) и алгоритмы ее самообучения

              • Translation
              Привет всем Хабражителям, кто интересуется вопросами искусственного интеллекта! Всех с Прошедшими праздниками! Пора двигаться дальше.

              В конце прошлого года я закончил перевод последней версии документа о «Hierarchical Temporal Memory» (HTM), который теперь можно найти рядом с оригиналом на сайте Numenta.com.

              Что это такое и зачем оно все? Это последняя разработка весьма небезысвестного Джеффа Хокинса сотоварищи, моделирующая работу отдельных слоев коры головного мозга. Эта штуковина позволяет (если не накосячить все сделать правильно) выделять из входного потока данных сходные события, их последовательности, проводить их распознавание и предсказание. Всех, кого интересуют подробности, милости прошу под хабракат.

              Читать дальше →
            • Интеллектуальные диалоговые системы с интерфейсом на естественном языке

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

              В посте пойдет речь о проектировании ИДС и сложностях, которые при этом возникают. Также будут рассмотрены распространенные алгоритмы, используемые в ИДС, их достоинства, недостатки и многое многое другое. Если эта тема Вам интересна, добро пожаловать под кат.
              Читать дальше →
            • Автоматическая подсветка символов из другого языка в тексте

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

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

                Скриншот

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

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

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

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

                  В общем, перепробовал я множество таких программ, некоторые были лучше, чем другие, но показывали они не всегда то, что мне хотелось (до последнего времени я пользовался balance by). Например, мне хотелось видеть, сколько трафика осталось на моем телефоне, сколько на модеме. Это же так просто — вот она эта информация, на сайте же! Если берется информация о балансе оттуда, то почему не взять информацию о трафике? Если бы можно было бы для этого написать только регулярное выражение, я бы давно сделал это. Но приходилось только ждать обновления программы. А обновления выходили, обновлялась куча других операторов, но нужного мне индикатора трафика не появилось. Кроме того, так и не нашел программу, которая бы сохраняла динамику изменения баланса, чтобы можно было оперативно посмотреть, в какой момент вдруг начали списываться лишние деньги. А с мт тарификацией такое вполне может случиться.

                  Читать дальше →
                • Быстрый старт в разработке дополнений Firefox

                    Про создание дополнений Firefox я знаю мало, но для того чтобы узнать это немногое мне потребовалось несколько дней. Эти знания мне не довелось пока применить для реальной задачи, и кто знает когда придётся. По теме есть много информации на английском языке, но в силу скудности моего английского эта информация была для меня трудновоспринимаема. Статьи, что я видел на русском, это в основном переводы, в которых много внимания уделяется деталям, но после их прочтения не возникает целостной картины. Моя статья — это попытка создать маленькое, но целостное знание: с чего начать и как с этим можно работать.
                    Читать дальше →
                  • Layout страницы за 5 секунд

                      image
                      www.layzilla.com

                      Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

                      Можно создавать основу страницы проекта любой сложности.

                      В будущем сделаем поддержку HTML5.

                      Мануал для любителей почитать.
                    • Пузырь фильтров (filter bubble), а также 10 шагов, как вырваться из плена своих интересов

                      Марку Цекербергу (Mark Zuckerberg) однажды задали вопрос о важности ленты новостей в Facebook, почему она является ключевой и всегда отображается на главной странице? На что основатель Facebook ответил так: "Белка, умирающая на вашем дереве, может быть куда более релевантна для вас в данный момент, чем люди, умирающие в Африке".

                      Ниже описана ситуация, в которой находимся все мы в сети Интернет, основанной на идее релевантности, а также дан ответ на вопрос, почему мы все находимся в плену своих интересов, в т.н. «Пузыре фильтров» (filter bubble). Также приведу 10 советов, которыми я пользуюсь для того, чтобы выйти за пределы пузыря фильтров — т.е. вырваться из плена своих интересов.
                      Читать дальше →
                    • Постраничная верстка rel=«next|prev»

                      • Translation
                      Наряду с использование атрибута rel=«canonical» для указания поисковому боту на дублирование контента, теперь возможно использовать для HTML ссылок значение rel=“next” и rel=“prev” для обозначения положения текущей страницы в отношении соседних в рамках навигационного блока. В рамках веба встречаются различные варианты использования постраничной навигации — статья, разделенная на несколько страниц, либо категория товаров распределенных по нескольким страницам, либо ветка форума, разделенная на последовательность URL-ов. Теперь, включив rel=“next” и rel=“prev” в верстку страниц, мы можем указать Google:
                      • Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
                      • При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц
                      Подробности и нюансы использования
                    • Приступаем к работе с Google+ API

                      • Translation


                      Только что пришла благая весть от Гугла:

                      Приветствуем разработчиков,


                      Благодарим Вас за проявленный интерес к платформе Google+. Мы обещали, сообщать о всем интересном, что происходит. Ну, что же — пришло время…

                      Сегодня мы запускаем первую часть Google + API. Это первый выпуск API ориентирован только на работу с публичными данными — API позволяет получать доступ к информации, которою пользователи раcшаривают с помощью Google+. Подробную информацию Вы можете получить в нашем блоге.

                      Читать дальше →
                    • Работа с WebMoney API

                        WebMoney Transfer уже давно является для многих привычным способом расчётов в интернете. Одним из достоинств системы является богатый API для взаимодействия со программным обеспечением сторонних сервисов. Через него можно получать состояния ваших счетов, осуществлять денежные переводы, выставлять клиентам счета на оплату, контролировать их оплату, возвращать платежи без комиссии, работать с платежами с протекцией, получать информацию из аттестатов других пользователей, отправлять сообщения по внутренней почте WM. На сайте WebMoney есть хорошая документация на API.

                        Вашим покорным слугой написан модуль Business::WebMoney, который распространяется по свободной лицензии и получил статус официального Perl-интерфейса системы.
                        Читать дальше →
                      • Пара советов к прохождению технических интервью

                          Я уже достаточно давно провожу технические интервью с кандидатами на позицию Software engineer и на моем счету их имеется несколько десятков. Сегодня я попробую сформулировать основные моменты, которые лично мне, как интервьюеру, кажутся довольно важными.

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

                          Читать дальше →
                        • Стек директорий. Снова простая вещь + дополнения

                            Мало кто знает о таких командах bash как pushd и popd.
                            Они позволяют работать со стеком директорий.
                            pushd $DIR позволяет перейти в $DIR и добавить текущую в стек. При каждом выполнении команды стек пополняется текущей директорией.
                            popd позволяет перейти к последней директории в стеке и извлечь её оттуда. Таким образом после каждого выполнения команды стек уменьшается на одну директорию, а текущая директория становится директорией на вершине стека.
                            Читать дальше →
                          • Презентация средствами HTML5

                              image
                              Обратил внимание, что в настоящее время программисты Google начали использовать новую форму представления своих презентаций.

                              Типичный пример, еще пример — мы видим фреймы, эффекты, изображения, общий стиль.

                              Несложный поиск привел к удобному шаблону, который при своей простоте позволяет создавать неплохие презентации с легко внедряемыми элементами
                              Читать дальше →