• Оригинальные тексты: Яндекс против копипаста

      Яндекс предложил вебмастерам альфа-версию нового инструмента. Новый сервис предназначен для тех сайтов, чьи тексты копируют другие сайты. При этом иногда сайты-помойки, ворующие контент, ухитряются делать это настолько успешно, что высоко ранжируются в результатах поиска, лучше индексируются и успевают первыми выдать поисковикам чужой контент.
      Так что же предлагает Яндекс?
    • Набор инструментов Bootstrap для создания web-приложений

        Изображение - savepic.org — сервис хранения изображений

        Сегодня Twitter объявил о запуске нового набора инструментов Bootstrap для создания web-приложений при помощи CSS. Набор включает в себя стили для типографики, форм, кнопок, таблиц, стрелок и.т.д.

        Создатели говорят, что сервис был запущен как фреймворк для создания фронтэнд приложений. Набор был разработан во время первого твиттеровского Hackweek.
        Читать дальше →
      • Я хочу работать в Google! Телефонное интервью (часть 2)

          Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
          Читать дальше →
        • Программа проверки грамматики

            Большинство систем редактирования текста имеют инструмент для автоматической проверки орфографических ошибок (когда в слове написаны неправильно одна или несколько букв; по-английски — speller). Их принцип действия: программа анализирует в тексте каждое слово и ищет такое же в Базе Данных всех слов и их всевозможных форм.

            Такая проверка текста гарантирует, что слова в тексте будут написаны правильно (как в словаре), но не защищает от ошибок согласования и синтаксических ошибок в предложении. Например, предложение «Я читаешь интересными журналом» неправильно, но система редактирования текста не покажет правильный вариант: «Я читаю интересный журнал».
            Избежать таких ошибок помогает программа проверки грамматических ошибок в предложении (по-английски — grammar checker).
            Читать дальше →
          • Настоящие программисты, где же вы?

              [Это перевод статьи из блога компании RethinkDB — калифорнийского стартапа, который занимается разработкой MySQL storage engine, оптимизированного под SSD-диски. Оригинал статьи можно прочитать здесь]

              В последние месяцы RethinkDB довольно активно нанимает новых сотрудников, и за это время мы твердо убедились в том, что Джеф Этвуд (Jeff Atwood) в своей статье о FizzBuzz ни на йоту не отошел от истины.

              Без лишнего хвастовства могу сказать, что мы предъявляем очень высокие требования к соискателям вакансий. И мы совершенно не намерены снижать эту планку. Более того, мы уверены, что чем больше слабых программистов мы отфильтруем, тем лучше и сильнее в итоге окажется наша команда. Некоторые, впрочем, отмечают, что под наши требования скоро будут подпадать только обладатели PhD в computer science со вторым дипломом по квантовой механике.

              Конечно, всё это гнусные инсинуации. Наше основное правило — не нанимать людей, которые не умеют программировать.

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

              Читать дальше →
            • Уроки 10-ти лет технических обзоров

              • Translation
              На той неделе было 10 лет, как я веду техническую колонку в The New York Times!

              Среди всех десятилетий технического прогресса последнее было особенно невероятным. С тех пор, как я написал свою первую статью в 2000 году, мир технических новинок не столько развивался, сколько несся вперед с космической скоростью. Подумайте о привычных ныне технологиях, которых даже не существовало каких-то 10 лет назад: HDTV, Blu-ray, GPS, Wi-Fi, Gmail, YouTube, iPod, iPhone, Kindle, Xbox, Wii, Facebook, Twitter, Android, онлайн магазины музыки, потоковое видео и т. д. и т. п.

              Сейчас отличный момент, чтобы бросить взгляд назад и подтвердить — или опровергнуть прогнозы, сделанные в течение первого десятилетия 21 века.
              Читать дальше →
            • Мой опыт восстановления зрения

              • Tutorial
                 Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

              image

                 Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
              Читать дальше →
            • Управление транспортным средством с помощью нейронной сети

              • Translation

              Аннотация


              Используя нейронную сеть, мы хотим, чтобы транспортное средство управляло собой само, избегая препятствий. Мы добиваемся этого путем выбора соответствующих входов/выходов и тщательного обучения нейронной сети. Мы скармливаем сети расстояния до ближайших препятствий вокруг автомобиля, имитируя зрение водителя-человека. На выходе получаем ускорение и поворот руля транспортного средства. Нам также необходимо обучить сеть на множестве стратегий ввода-вывода. Результат впечатляющий даже с использованием всего лишь нескольких нейронов! Автомобиль ездит, обходя препятствия, но возможно сделать некоторые модификации, чтобы это программное средство справлялось с более специфическими задачами.

              Введение


              Идея в том, чтобы иметь транспортное средство, которое управляет собой само и избегает препятствий в виртуальном мире. Каждое мгновение оно само решает, как изменить свою скорость и направление в зависимости от окружающей среды. Для того чтобы сделать это более реальным, ИИ должен видеть только то, что видел бы человек, если бы находился за рулем, так что ИИ будет принимать решения только на основе препятствий, которые находятся спереди транспортного средства. Имея реалистичный ввод, ИИ мог бы быть использован в реальном автомобиле и работать так же хорошо.
              Когда я слышу фразу: "Управление транспортным средством с помощью ИИ", я сразу же задумываюсь о компьютерных играх. Многие из гоночных игр могут использовать эту технику для контроля транспортных средств, но есть целый ряд других приложений, которые ищут средство управления транспортом в виртуальном или же реальном мире.
              Так как же мы это будем делать? Существует множество способов реализации ИИ, но ведь если нам нужен "мозг" для управления транспортным средством, то нейронные сети подойдут как нельзя лучше. Нейронные сети работают так же, как и наш мозг. Они, наверное, и будут правильным выбором. Мы должны определить, что будет входом, а что выходом нашей нейронной сети.
              Читать дальше →
            • Ghetto workout

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

                Отжимания




                Читать дальше →
              • Карьера в IT

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

                  Читать дальше →
                • Принцип «уверенности» высококачественного веб-дизайна

                  Краткий синопсис

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

                  image

                  Под катом примерно 1.1 Мб трафика.
                  Читать дальше →
                • Ещё более современный C++

                  • Translation
                  “C++11 feels like a new language.” – Bjarne Stroustrup

                  Не так давно Герб Саттер открыл на своём сайте новую страничку — Elements of Modern C++ Style, где он описывает преимущества нового стандарта и то, как они повлияют на код.
                  А под катом прячется вольный перевод содержимого этой странички.
                • Интеграция алгоритма стемминга русских слов в fts3 SQLite

                  В данной статье я хочу поделиться опытом интеграции расширения для стемминга в код SQLite. Все действия выполнялись в ОС Ubuntu 11.10.

                  Проблема


                  В fts3 SQLite есть простой стеммер, реализующий алгоритм стемминга Портера, но для русских слов реализации нет. Т.е. MATCH по слову 'гостиницы' не найдёт записи, содержащие слово 'гостиница' и т.д.

                  Подготовка к компиляции


                  Что понадобится

                  • исходники sqlite3 с репозитория;
                  • наш стеммер на языке C (см. далее);
                  • опционально библиотека readline (libreadline), если нужна история вводимых команд для консольного клиента.

                  Читать дальше →
                  • +19
                  • 4.6k
                  • 2
                • Создание простейшего сервера с помощью Apache MINA

                    Apache MINAApache MINA — библиотека с открытым исходным кодом для написания клиент-серверных приложений на Java. Последняя на текущий момент версия — 2.0.4 — вышла 14 июня 2011 г.

                    В этой статье я опишу процесс создания простейшего сервера с использованием этой библиотеки.

                    Читать дальше →
                  • Android UI Patterns: Dashboard

                      imageПосле моей недавней статьи несколько человек поинтересовались в личке как сделать Dashboard. Dashboard является одним из основных UI паттернов для Android, подробней о которых Вы можете прочесть здесь. Поиск по хабру подсказал как можно реализовать QuickAction диалоги и ActionBar. В этой статье я расскажу как легко сделать свой Dashboard.
                      Читать дальше →
                      • +35
                      • 10.6k
                      • 9
                    • Компиляция JavaScript проекта с помощью Maven и Closure Compiler

                      Добрый день, коллеги!

                      Хотел поделиться своими наработками в области автоматизации процесса сборки javascript проекта использующего Google Closure Compiler и Google Closure Library при помощи Apache Maven. Страничка проекта https://github.com/urmuzov/closure-maven, там же лежит документация по каждому из компонентов проекта.

                      О проекте


                      Главный компонент проекта — это архетип. Архетип объединяет в себя все остальные компоненты проекта, которые при желании могут использоваться отдельно от него.

                      Архетип предоставляет средства для решения самых часто встречающихся задач при разработке, а именно:
                      • Запаковывает javascript код в maven артефакты для распространения (такие артефакты содержат помеченные пакеты специальной структуры, названные closure-packages);
                      • Распаковывает closure-packages из подключенных в <dependencies> артефактов для компиляции;
                      • Помогает в объединении и оптимизации js и css файлов при помощи Web Resource Optimizer for Java (wro4j);
                      • Предоставляет 5 профилей компиляции для разных целей:
                        • compiled — для «боевой» сборки проекта. Уровень компиляции ADVANCED_OPTIMIZATIONS;
                        • merged — для склеивания всех исходных js файлов в один, фактически без компиляции. Уровень компиляции WHITESPACE_ONLY, форматирование PRETTY_PRINT;
                        • sources — для дебага javascript файлов в бразуере. Компиляция происходит как и в профиле compiled, но в html будут подключены файлы с исходными кодами;
                        • sources-no-compile — для дебага html/css файлов. Компиляции не происходит, просто в html подключаются файлы с исходными кодами;
                        • jar — для сборки jar-архива для распространения;

                      • Генерирует jsdoc и jslint отчеты при выполнении mvn site.

                      Читать дальше →
                      • +24
                      • 7.4k
                      • 8
                    • Реалистичный пейзаж в Ogre 3D

                      Привет.
                      Прочитав на хабре несколько интересных статей об одном из самых мощных рендер-движков Ogre3D, я решил поделиться своим опытом в деле моделирования с помощью него реалистичного пейзажа с атмосферными эффектами, водной поверхностью и буйной растительностью. Под катом — рецепт прикручивания к Ogre всех необходимых для этого библиотек.
                      Читать дальше →
                    • С++: шаблон «поводок»

                      Намедни коллега подкинул такую задачку:

                      «Есть два типа объектов — Human и Dog. Human может владеть некоторой собакой (а может и не владеть). Dog может иметь некоторого хозяина (а может и не иметь). Понятно, что если некоторый объект типа Human владеет некоторым объектом типа Dog, то для данного объекта типа Dog именно данный объект типа Human является хозяином и только он. Причем Dog должен знать, кто его Human, и наоборот. Как бы ты это реализовал?»

                      Казалось бы, всё просто — заведём два указателя друг на друга у классов Human и Dog и дело в шляпе. Но реализация данной затеи привела меня к идее, как мне кажется, нового шаблона проектирования.
                      Читать дальше →
                    • Постоянные неблокируемые cookie с использованием HTTP-заголовков

                      • Translation
                      На прошлой неделе прогремела новость об исследовании, утверждающем, что аналитическая компания KissMetrics отслеживала пользователей на сайтах при помощи уникального значения заголовка ETag(спека). KissMetrics отрицали использование ETag и в итоге подали в суд на авторов исследования(см. upd. в конце статьи).

                      Использование ETag (сокрашение от 'element tag', «метка элемента») для отслеживания пользователей известен и используется в партнерских сетях с начала прошлого десятилетия. Так же известно, что и заголовок Last-Modified(spec) теоретически может использоваться для отслеживания пользователей с помощью уникального значения времени обновления.

                      Мне, правда, кажется, что мало кто знает, что заголовок Last-Modified может принимать в качестве значения любую строку, то есть значение не обязательно должно быть правильной датой.
                      Читать дальше →
                    • Разработка для Pokki: Hello World

                      Не так давно была запущена в бета-режиме платформа Pokki, позволяющая разрабатывать десктопные приложения с помощью HTML5 и JavaScript (обзор здесь). На данный момент она доступна только пользователям Windows 7, в ближайшем будущем — пользователям Vista и XP, также в планах Mac OS. В этой статье мы будем разрабатывать свое первое приложение.
                      Читать дальше →