• Сравнение двух GPS Data Logger'ов



    Многие из нас любят походы. Мы привозим тонны фотографий, потом долгими вечерами ковыряемся, пытаясь выбрать лучшие, чтобы было что показать друзьям и знакомым. Но некоторым этого мало. Хочется порой, знаете ли, погрузиться в воспоминания ещё немного полнее. Вот бы записать маршрут и потом посмотреть его на карте или в Гуглобусе!

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

    В последнем нашем конном походе у товарища был навигатор Gramin Oregon 450, на который мы трек и писали. Анализировать трек оказалось очень увлекательным занятием! Можно посмотреть скорость движения, а потом вспомнить где рысили, где галопчик делали, а где и шагом плелись, где поили лошадок и где стоянки делали. А если учесть, что к этим данным можно «привязать» фотографии и даже сделать красивый .kmz-файл с отметками и фотографиями!.. Вобщем, простор для фантазии.

    Впредь решено было «писать» все походы и я приступил к поиску устройства.
    Вы со мной?
  • Ресурсы, о которых должен знать каждый Android-разработчик

    • Перевод
    Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

    В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.

    Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
    Читать дальше →
  • Бенчмарк HTML парсеров

      Переписывал в островке кусок одного сервиса с Python на Erlang. Сам сервис занимается тем, что скачивает по HTTP значительное количество однотипных HTML страниц и извлекает из них некоторую информацию. Основная CPU нагрузка сервиса приходится на парсинг HTML в DOM дерево.

      Сперва захотелось сравнить производительность Erlang парсера mochiweb_html с используемым из Python lxml.etree.HTML(). Провел простейший бенчмарк, нужные выводы сделал, а потом подумал что неплохо было бы добавить в бенчмарк ещё парочку-другую парсеров и платформ, оформить покрасивее, опубликовать код и написать статью.
      На данный момент успел написать бенчмарки на Erlang, Python, PyPy, NodeJS и С в следующих комбинациях:
      • Erlang — mochiweb_html
      • CPython — lxml.etree.HTML
      • CPython — BeautifulSoup 3
      • CPython — BeautifulSoup 4
      • CPython — html5lib
      • PyPy — BeautifulSoup 3
      • PyPy — BeautifulSoup 4
      • PyPy — html5lib
      • Node.JS — cheerio
      • Node.JS — htmlparser
      • Node.JS — jsdom
      • C — libxml2 (скорее для справки)

      В тесте сравниваются скорость обработки N итераций парсера и пиковое потребление памяти.

      Интрига: кто быстрее — Python или PyPy? Как сказывается иммутабельность Erlang на скорости парсинга и потреблении памяти? Насколько быстра V8 NodeJS? И как на всё это смотрит код на чистом C.
      Читать дальше →
    • Быстрый способ установки Java Oracle на Ubuntu

        Привет, хабровчане!
        В сети есть достаточно информации по установке Java Oracle. Но, на мой взгляд, способ, описанный ниже, самый удобный. Причина удобства — не нужно заходить на сайт Oracle, регистрироваться и выкачивать установочный файл и в то же время нет необходимости хранить его где-нибудь у себя локально.
        Процесс установки сводится к запуску одного скрипта.
        Читать дальше →
      • Как сделать группу инпутов удобной

          Когда я работал над сервисом заметок jotsky.com, еще до работы в Островке, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:



          Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
          Читать дальше →
        • Интеграция Django и Selenium



            Всем привет.

            Ни для кого не секрет что тестирование приложений является важным этапом разработки ПО, а если вы разрабатываете веб-приложения, то вам просто необходимо тестировать веб-интерфейс. К счастью, для этой цели существует такой инструмент как Selenium. Небезызвестные на хабре компании СКБ Контур и Яндекс уже выбрали его как инструмент функционального тестирования своих приложений и сервисов (Яндекс рассказывал об этом на недавно прошедшей YaC).

            Теперь к делу.
            В одном из проектов, над которым я работаю, мы использовали Selenium начиная еще с первой ветки. Но время не стоит на месте, вышел Selenium 2.0, основанный на технологии webdriver, более функциональный, удобный, и правильно имитирующий события в браузере (подробнее о преимуществах).

            Чтобы не заниматься обновлением старого кода поддержки Selenium внутри нашего приложения (а вдруг это придется делать еще и не один раз?), а также чтобы попробовать сделать что-то полезное для других разработчиков, мы решили сразу вынести интеграцию с Selenium в отдельную библиотеку.
            Что из этого вышло
          • Быстрая реализация инкрементального бэкапа на Amazon S3

            После переезда моего сайта с shared-хостинга на виртуальный сервер в облаке вплотную встал вопрос об архивации данных: если раньше о ежедневном бэкапе беспокоился хостер, то теперь эти заботы целиком легли на плечи администратора. Так как хранить большие архивы на своем сервере не только небезопасно, но и (иногда) накладно, было решено копировать основную массу файлов на сервис S3 от Amazon. Под катом описывается мой способ реализации инкрементального бэкапа. Способ достаточно нубовский, но желающие повторить его без труда найдут пути тонкой настройки под свои нужды.
            Читать дальше →
          • Репликация в Postgresql 9.0

              Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
              Читать дальше →
            • Мой Круг открывает API

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

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

              Если у вас есть хорошая идея, но в API пока нет инструментов для её реализации, напишите нам. Мы постараемся это исправить.

              Техническую документацию к API Моего Круга можно посмотреть в клубе сервиса.

              Команда Моего Круга
              .
              • +34
              • 2,6k
              • 8
            • PXE Boot за 15 минут

                Здравствуй %username%!

                Сегодня я расскажу как за 15 минут можно развернуть сетевую загрузку с удобным меню загрузки и минимумом полезных утилит.




                Нам понадобится cервер под управлением Linux в моем случае Ubuntu, немного энтузиазма и свободного времени.

                Я надеюсь статья будет вам полезна и я получу инвайт на Хабр :)
                Спасибо sky_lord!
                Читать дальше →