• Взгляд инсайдера на разработку Google+

    • Translation
    В Сети хватает экспертов, рассуждающих о перспективах и судьбе Google+, мощной социальной инициативы Google. Многие из них касаются конкуренции с Facebook и главного — удастся ли свергнуть Facebook с лидерской позиции.

    У меня есть личное мнение по этому поводу, поскольку я входил в одну из групп разработки Google+ в течение 6-8 месяцев после того, как проект Wave закрыли, и знаю многих разработчиков и дизайнеров, вовлечённых в эту драму.

    Обычно все споры идут на тему «Является ли Google+ убийцей Facebook». Такая постановка вопроса выглядит натянутой с налётом сенсационности, а я бы хотел рассуждать более спокойным тоном. На самом деле вопрос заключается в том, станет ли Google+ успешным продуктом, уйдёт ли заметная часть пользователей из Facebook и получится ли за счёт этого лишить Facebook монопольного положения на рынке социальных сетей. Но перед тем как высказать свою точку зрения, позвольте описать контекст.
    Читать дальше →
  • Евангелие от аутиста

      Прочитав историю tanenn, решил рассказать и о себе: я аутист. Если быть точнее, то у меня Синдром Аспергера.

      Так уж «повезло», что с рождения диагноз поставить мне не могли: тогда распался СССР и нашей семье пришлось бежать.
      13 переездов сделали свое: диагностировать было сложно. Однако к 18-летию я решил-таки сходить в военкомат, где был тут же отправлен к психологам, которые и поставили данный диагноз.

      Заранее извиняюсь за то, что рассказ может быть несколько странно изложен.
      Читать дальше →
    • Майк Тайсон вылечит больных игровой зависимостью

        Игра Angry Birds стала некоторой зависимостью для владельцев iPad. Они тратят огромное количество времени на нее, откладывая важные дела на потом.

        Однако знаменитый боксер-тяжеловес Майк Тайсон предложил метод лечения от игровой зависимости.

      • США

          Удивилась, что в данном блоге еще нет рассказа о переезде в США, и решила внести свой посильный вклад. Тем более, что 5 октября как раз начался очередной сбор заявок на участие в гринкарт лотерее, и, возможно, кто-то захочет попытать счастья.

          Для тех, кто не в курсе, что такое лотерея, вкратце расскажу: каждый год правительство США разыгрывает 50 000 иммиграционных виз среди стран с низким уровнем миграции для повышения национального разнообразия. Условия минимальные: не иметь судимостей и иметь законченное среднее образование. Россия на несколько лет выпала из этого процесса, когда был высокий процент усыновления из страны, и поэтому далеко не все россияне знают о лотерее (в Украине, например, сложно найти такого человека). С 2008 года РФ вновь включена в число стран, участвующих в лотерее (правда, подразумевается не гражданство участников, а страна рождения). Это, пожалуй, самый простой способ получить гринкарту, если удастся выиграть конечно — по различным подсчетам вероятность выигрыша составляет около 2%. При наличии играющего супруга шансы повышаются в 2 раза. Впрочем, есть и другие пути иммиграции:
          далее
        • Извлечение фактов

            Задача извлечения информации из текста сама по себе не нова: в этом направлении проделано довольно много работы как со стороны крупных компаний aka Яndex и Google, так и со стороны независимых разработчиков. Однако, говорить о том, что данная задача окончательно решена, увы, не приходится. В этой статье я хочу немного упорядочить свои знания по данному вопросу, поверхностно разобрав наработки, с которыми мне недавно пришлось столкнуться.
            Читать дальше →
          • Scala + Processing – интересный способ выучить новый язык

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

              Но что можно сделать такого интересного на Scala? На самом деле, выбор не слишком большой. Я как-то придумал небольшую тулзу, неспешно написал ее, и «забил». А через несколько месяцев, к своему стыду, гуглил синтаксис «for loop»…

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

              Я переписал на Scala и выложил на GitHub парочку примеров. На скрине как раз один из них — MSA Fluids. Заинтересовавшихся прошу под кат.

              Читать дальше →
            • Да, Вирджиния, Scala сложна!

              • Translation
              Для начала, позвольте уточнить, что я являюсь большим любителем и сторонником Scala вот уже 5 лет. Мною были написаны книги и статьи о Scala. Также я работал со множеством компаний, начавших использование Scala и Lift и проводил code review огромного количества Scala — проектов. Раньше я думал, что Scala — это просто. Она была и продолжает быть лекарством от многих проблем Java. С точки зрения “сложные или вообще невыполнимые вещи в Java довольно просты в Scala”, Scala — довольно простой язык. Работа с коллекциями очень проста. Изоляция бизнес-логики делает программы гораздо более поддерживаемыми и невероятно простыми, чем если бы они писались на Java.
              Так почему же Scala сложна? Вот лучшее, что я смог придумать:
              Читать дальше →
            • Gorilla Glass: где тонко, там и прочно

                Всем доброго дня!




                За последние годы рынок мобильных устройств проделал большой путь от телефонов и коммуникаторов к многофункциональным устройствам, которые иногда сложно отнести к той или иной категории гаджетов. Интерактивность, доступ к большому количеству приложений, большие сенсорные дисплеи – все это делает современные смартфоны полноценными рабочими кабинетами или игровыми клубами. Но сегодня подробнее как раз о дисплеях. Точнее, о материале, из которого они изготавливаются. Один из наиболее прочных материалов, получивший признание производителей смартфонов – стекло Gorilla Glass от компании Corning Specialty Materials.
                Читать дальше →
              • Определение части речи слов в русском тексте (POS-tagging) на Python 3

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

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

                  Зачем это нужно? Например, для автоматического определения тегов для блог-поста (для отбора существительных). Морфологическая разметка является одним из первых этапов компьютерного анализа текста.
                  Узнать, как это реализовать на Python 3
                • Быстрая разработка веб-приложений на Java

                  • Tutorial
                  Как вы разрабатываете веб-приложение на Java?
                  После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

                  Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

                  Запускалка


                  Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

                  под катом - примеры кода и обзор альтернативных решений
                • Про удаление малозначимых частей страниц при индексации сайта

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

                    Думаю нет особой причины останавливаться на алгоритме разбора HTML в дерево, тем более, что в обобщенном виде такие парсеры учат писать курсе на 3-4 ВУЗа. Обычный стек, немного фишечек по пропуску аргументов (кроме тех что потом понадобятся), и выходное дерево как результат разбора. Текст разбивается на слова прямо в процессе разбора, и слова отправляются в отдельный список, где запомнены кроме общей информации и все позиции слова в документе. Понятное дело слова в списке уже в 1-й нормальной форме, про морфологию уже писал, здесь просто скопирую из предыдущей статьи.
                    Читать дальше →
                  • Поиск по торрентам в DHT-сети

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

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

                      Сервис с весьма лаконичным дизайном заточен под одну функцию — поиск:


                      Поисковик по хэшам торрентов


                      Чтобы снизить зависимость от трекеров, в 2007 году разработчиками протокола bittorrent была принята его модификация на основе DHT-структуры, которая позволяла делать раздачи без трекера.

                      Что такое DHT-сеть? Фактически, это распределённая сеть торрент-клиентов, которая хранит идентификаторы (хеши) всех публичных раздач — т.н. magnet-link, которые представляют собой 160-битное случайное число. DHT-узлы клиентов отвечают за анонсирование своих торрентов и за поиск запрашиваемых. Благодаря тому, что все современные клиенты поддерживают DHT, можно сказать, что в этой сети есть практические все публичные торренты (приватные торренты сеть «не видит» и не позволяет скачивать). Практически — потому что DHT в клиенте может быть отключен. Поиск идёт по мета-информации, которую содержит в себе торрент-файл — то есть, проще говоря, он ищет по названию торрента и по названиям файлов входящих в него. Пользователь открывает magnet-линк в своём торрент-клиенте, тот находит всех раздающих файл и дальше качает как обычно — участия трекера в этой цепочке нет.

                      Читать дальше →
                    • Groovy за 15 минут – краткий обзор

                        Groovy — объектно-ориентированный язык программирования разработанный для платформы Java как альтернатива языку Java с возможностями Python, Ruby и Smalltalk.

                        Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java проекте или как скриптовый язык.

                        Возможности Groovy (отличающие его от Java):

                        — Статическая и динамическая типизация
                        — Встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений
                        — Замыкания
                        — Перегрузка операций

                        [http://ru.wikipedia.org/wiki/Groovy]

                        Более того, почти всегда java-код — это валидный groovy-код.
                        Читать дальше →
                      • RentFilter.ru — снимите квартиру без посредников

                          Не хотите платить агентам по недвижимости комиссию?



                          Новый проект www.rentfilter.ru подтверждает: снять квартиру без помощи риэлтеров — реально! Да, зайдя на любой сайт с объявлениями об аренде квартир, вам придется позвонить не по одному десятку номеров, прежде чем найдете объявление действительно от владельца квартиры, а не от риэлторского агентства. Но и это может случиться, только если вам очень повезет.

                          RentFilter.ru поможет снять квартиру без посредников. Наши роботы круглосуточно фильтруют объявления об аренде помещений и оставляют только те, которые подают сами хозяева квартир. Просто позвоните по указанному в объявлении телефону, посмотрите квартиру, изучите все документы на право собственности, подпишите договор и — пакуйте чемоданы. Кстати, на RentFilter.ru можно прочитать все, что нужно знать, если вы решили снять квартиру без агентской помощи. Здесь же можно скачать стандартный договор аренды жилого помещения.
                          Читать дальше →
                        • LogLog — находим число уникальных элементов

                            Здравствуй, Хабр! Мы с тобой уже побаловались фильтрами Блума и MinHash. Сегодня разговор пойдёт о ещё одном вероятностном-рандомизированном алгоритме, который позволяет с минимальными затратами памяти определить примерное число уникальных элементов в больших объёмах данных.

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

                            Способ всем хорош, но требует относительно большой объём памяти для своей работы, ну а мы с вами, как известно, неугомонные гении эффективности. Зачем много, если можно мало — примерный размер словарного запаса упомянутого выше Шекспира, можно вычислить используя всего 128 байт памяти.

                            Кажется невозможным?
                          • 3 000 000 $ за лучший алгоритм

                              Привет, Хабр!

                              4 мая 2011 года крупнейшая здравоохранительная организация штата Калифорния «Heritage Provider Network» сообщила о проведении конкурса на лучший алгоритм прогнозирования, благодаря которому станет возможным сократить расходы на здравоохранение.

                              Конкурс стартовал ещё 4 апреля 2011 года в 19:00 по Гринвичу и будет длиться почти 2 года — до 3 апреля 2013 года.

                              Главный приз конкурса, а именно 3 000 000 $, получит тот, кто разработает алгоритм, позволяющий предсказать с наибольшей достоверностью на основе данных за предыдущие годы, сколько дней в этом году пациенты проведут в больнице.

                              В качестве исходных данных предоставляются анонимные выборки аналогичных данных за минувшие 3 года.

                              Подробнее под катом
                            • Стоит ли нам использовать повествовательные веб-формы?

                              • Tutorial
                              Представляю вашему вниманию перевод статьи под названием "Should We Use Mad Libs Style Form?" от Cynthia Savard Saucier. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Yu Centrik.


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

                              Однако недавно мы увидели, как появляется новый тип форм. Восхваленные юзабилити экспертом Яредом Спулом и гуру дизайна форм Люком Вроблевски, повествовательные формы (в оригинале Mad Libs) стали очень популярными. Давайте разберемся, что же это такое.

                              Читать дальше →