• Слушайте хабр по «радио»

      На одном сайте, который мне внутренний голос нашептал одним воскресным утром, нашёл ссылку на RSS радио. В настройках помимо всего прочего есть и хабр, и тот самый сайт.
      Мне понравилось.

      Есть приложение для iPhone или iPad
      image
      Сделано в Центре речевых технологий.
    • Codecademy добавил интерактивные уроки по jQuery

        Школа программирования Codecademy, как и обещала, увеличивает количество доступных предметов. К трём курсам по JavaScript теперь добавился jQuery. Выбор логичен: jQuery — это одна из самых популярных JavaScript- библиотек, которая широко используется для создания современных интерактивных сайтов.

        Вводный курс The Document Object Model & jQuery состоит из двух уроков и 13 упражнений. Как и раньше, занятия проходят в интерактивном стиле, для первых уроков регистрация не нужна.



        Кроме новых уроков, улучшен также интерфейс Codecademy: разработчики прикрутили «блокнот» (Scratch Pad), где можно во время урока экспериментировать с произвольным кодом.

        Сделанный за две недели проект Codecademy в августе запустился, в октябре привлёк $2,5 млн венчурного финансирования, количество пользователей недавно превысило 800 тыс.
      • Создаем анимированные кнопки при помощи CSS3

        • Translation


        В данной статье я хочу поделиться с вами некоторыми экспериментами по созданию анимированных кнопок при помощи CSS3. Идея заключается в создании анимированных ссылок с разными стилями, hover-эффектами и пр.

        В данных примерах используются иконки с webiconset.com, а также шрифт от Just Be Nice.

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

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

        Чтобы не захламлять код в уроке я не буду использовать префиксы для различных браузеров. Их вы сможете увидеть в архиве с примерами.
        Читать дальше →
        • +199
        • 38.9k
        • 40
      • Sisyphus.js — защищаем данные форм пользователя от случайных потерь

          В чём проблема?


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

          Представьте себе бурю эмоций, испытываемых пользователем, только что потерявшим все вводимые данные — а ведь оставалось немного допечатать и отправить форму. Вот если бы только был способ восстановить эти данные, а не заниматься сизифовым трудом…
          Читать дальше →
        • Собственный сервер Git на базе Ubuntu или Debian/GNU Linux

            Я встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)

            Читать дальше →
          • Git Workflow

              1 Вступление



              В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


              Читать дальше →
            • Git 1.7.7

                Здравствуйте,

                Тихо и незаметно (по крайней мере на Хабре) вышло обновления для git. Полный changelog. Кратко опишу главные вкусности, которым я очень рад и думаю вы тоже будете рады.
                Читать дальше →
              • Drupal Bundle Inherit — модуль для наследования типов сущностей

                  Общая идея


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

                  Представьте, что вы организуете интернет магазин (или любой другой проект в котором планируется создавать много различных типов содержимого). Предположим, что в качестве программного комплекса Вы выбрали связку Drupal 7 + Commerce. Commerce дает возможность создавать разные типы продуктов. Это полезно, когда Вы торгуете разными категориями товаров, для каждой из которых характерны какие-то свои данные. Например для мониторов Вы скорее всего захотите указать тип матрицы, а для процессоров неплохо будет указать тактовую частоту.
                  Читать дальше →
                • Subtle Patterns: фоновые текстуры для вашего сайта

                    Если вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.



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

                    Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
                    Читать дальше →
                    • +232
                    • 66.8k
                    • 29
                  • Обновлён ModularGrid — удобный инструмент для HTML-верстальщиков

                      Демо-страница
                      Спешу сообщить, что наконец-то обновил ModularGrid — небольшой javascript, который рисует гайды и модульную сетку поверх вёрстки:
                      • появилась панель с контролами для тех, кто не любит хоткеи;
                      • состояние сетки теперь сохраняется в cookie;
                      • было исправлено несколько досадных ошибок.

                      Демо-страница | проект на GitHub | предыдущая статья
                    • Яндекс.Недвижимость

                      • Из RSS

                      Наверняка каждый, кто хотел снять или купить квартиру и искал предложения в интернете, сталкивался с огромным количеством некачественных объявлений. Самая частая проблема: «Квартира уже ушла, но могу предложить вам практически такую же». При этом квартиры, описанной в объявлении, могло вообще не существовать, а «практически такая же» — хуже, дальше и дороже. Очевидно, что людям важно, чтобы нужным им параметрам соответствовали не только объявления, но и сама недвижимость.

                      Сегодня мы запустили сервис для поиска жилья — Яндекс.Недвижимость.

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

                      Алгоритмы Яндекс.Недвижимости учитывают множество факторов. В том числе:

                      Актуальность объявления
                      По статистике, квартира продается и сдаётся через вполне определённый срок после подачи объявления. Алгоритм Яндекс.Недвижимости умеет вычислять эти сроки, в том числе, учитывая обновления объявления. Устаревающие предложения убираются из результатов поиска.

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

                      Группировка дубликатов
                      Чтобы повысить вероятность звонка от потенциального клиента, агенты по недвижимости часто размещают на сайте не одно, а несколько объявлений. Например, указывают разные станции метро или немного разные цены. Предлагать одну и ту же жилплощадь могут и несколько агентов сразу. Найти одинаковые объявления легко по их параметрам — адрес дома, этаж и площадь квартиры. Такие объявления мы объединяем в одно.

                      В результате Яндекс.Недвижимость отсеивает до 30% объявлений. Зато мы можем быть уверены, что большинству оставшихся предложений можно верить.

                      Фильтрацией некачественных предложений работа над объявлениями не ограничивается. Например, мы используем на Яндекс.Недвижимости данные сервиса Яндекс.Карты. В объявления, в которых не хватает географических данных, мы их добавляем. Например, район города, станцию метро (если она есть), ж/д станцию (если недвижимость загородом), шоссе (для поиска по Московской области). Кроме того, Яндекс.Карты помогают корректировать информацию о том, сколько нужно добираться до ближайшего метро. Например, в объявлении указано, что до метро идти пять минут, а судя по данным с Яндекс.Карт — все двадцать. В объявлении на Яндекс.Недвижимости будет указано честное время. Если же пользователь указал, что идти дольше, чем посчитала машина, то мы верим данным пользователя.

                      Когда пользователь выбирает нужные ему параметры на Яндекс.Недвижимости, сервис показывает все объявления, которые им соответствуют, и ранжирует их. Ранжирование основывается на многих факторах. Например, в списке предложений аренды выше окажутся более свежие объявления с полными описаниями и небольшой ценой (но не самой маленькой — люди чаще ищут квартиры средней стоимости). Также учитывается, например, этаж, на котором квартира расположена (обычно все хотят не на первом и не последнем этаже) и расстояние до метро (лучше поближе). Формула ранжирования результатов поиска Яндекс.Недвижимости создаётся с помощью машинного обучения.

                      О Яндекс.Недвижимости мы можем разговаривать часами. Но, как говорится, лучше один раз увидеть. Поэтому — добро пожаловать на realty.yandex.ru.

                      С уважением,
                      Команда Яндекс.Недвижимости

                      .
                    • Как придумать и запустить стартап? Личный опыт с проектом BabbleLABEL

                        В августе уходящего года, приехав на тренинг МГУ+Intel+Роснано в Дубну, мы еще не подозревали, что он нам принесет не только важные знания, но и идею нового проекта. А все начиналось с модуля Design thinking, который проводили Ирина Кутенёва, Елена Хромкова и их команда из Lumiknows. Задача была такова…



                        Задание нашей команде было разработать некий продукт, который бы улучшал покупательский опыт. Мы должны были провести интервьюирование коллег, очертить портрет потребителя, выявить скрытые потребности, провести мозговой штурм по решению выявленных потребностей, сделать и представить прототип. Из 50 возникших идей мы решили развивать мобильное приложение, которое бы при наведении на штрих-код товара выдавало по нему информацию. Таким образом, покупатель бы мог без продавца и без серфинга по разным сайтам с маленького экрана телефона мгновенно получить описание, технические характеристики, рецепты и т.д. Тогда мы победили среди остальных команд и получили книжки от Intel.

                        А теперь о том, что же случилось дальше...
                      • Пишем свой драйвер под Linux

                        image

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

                        То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

                        Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

                        Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

                        Читать дальше →
                      • Регистрация своей фирмы собственными руками, туду-лист

                          Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

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

                          Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
                          Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

                          Для создания фирмы необходимо:

                          Минимальный реквизит для создания своей компании
                          Подробности под кОтом.
                        • Лазерное шоу, управляемое через LPT

                          image
                          Я раскажу Вам как можно сделать лазерное шоу управляемое через порт LPT. Используется самая простая схема подключения и самый простой способ управления.
                          Идеалистическое стремление данного проекта — достижение художественной ценности световых эффектов, возможное лишь при человеческом творчестве. Подразумевается, что игра света может рассматриваться и как самостоятельное произведение.
                          Читать дальше →
                        • Build Your First PHP for Android Application

                          • Translation
                          Операционная система Android повергла рынок сматрфонов в шок :). В отличии от компании Apple, которая предъявляет достаточно строгие требования к разработчикам, которые хотят выставлять свои приложения в iPhone App Store, Google создал платформу Android открытой (в оригинале wide open). В настоящее время вы можете писать приложения PHP. Парни из Irontech создали необходимое, и используя Scripting Layer для Android (SL4A), вы можете создавать на PHP приложения для Android.
                          Вы думаете - сейчас мы будем читать о чем-нибудь ужасном?
                        • Релиз PyCharm 1.0 — новой Python/Django IDE от JetBrains

                            Сегодня компания JetBrains выпустила релиз PyCharm 1.0 — новой интегрированной среды разработки для Python, Django и Google App Engine.

                            Про то, чем PyCharm лучше других IDE, можно почитать в сравнительной матрице, а также увидеть в скринкастах. Продукт коммерческий, бесплатно можно пользоваться в течение 30 дней. Также можно получить бесплатную лицензию, если вы работаете над open-source проектом.

                            Будем рады любому фидбэку.
                          • Новый троян ворует пароли пользователей браузера Firefox



                              Все новые и новые вирусы выходят «в свет» благодаря стараниям вирусописателей, некоторые из которых весьма талантливы. Эту бы энергию да в мирное русло… Но что мечтать — давайте лучше узнаем больше о новой заразе, которая особо опасна для пользователей любимого многими браузера Mozilla Firefox. Так вот, новый вирус, Trojan-PWS-Nslog, без ведома владельца ПК может заставить браузер Firefox сохранять данные (пароли/логины) различных сайтов, посещаемых пользователем, и затем передает все это своему создателю. Обнаружен вирус стараниями специалистов компании Webroot. В продолжении — более подробная информация о зловредной программе.

                              Читать дальше →
                            • Как заработать на поддержке интернет-проектов?!

                                Мы научились зарабатывать на услуге поддержки интернет-проектов. Оказывается это возможно. Несколько лет жизнь убеждала меня в обратном, и я почти с ней согласился. Но… Выход есть.
                                Читать дальше →