• Сервис такси разыгрывает базу контактов клиентов и водителей

      Популярный украинский сервис такси Uklon регулярно устраивает розыгрыши среди своих водителей и клиентов. По результатам каждого розыгрыша они публикуют на свою facebook страницу видео с контактными данными участников: имя и адрес электронной почты (пример, видео удалили). Фрагмент кадра:


      В оригинальном видео адреса не размыты, их для статьи размыл я, чтобы не распространять эти данные дальше. На мое письмо в их поддержку, что это не очень хорошая идея:
      Добрый день!
      Нельзя в видео (ссылка) выкладывать адреса и имена людей.
      1. Во-первых, ваши конкуренты могут получить список ваших клиентов и водителей
      2. Во-вторых, вы нарушаете закон Украины про доступ к персональным данным

      Они ответили, что им все равно:
      Здравствуйте, Денис, при регистрации каждый пользователь дает согласие на использование его персональных данных uklon.com.ua/document/useragreement — пункт 2.6. Большое спасибо за ваш отзыв.

      Поэтому я решил написать небольшой пост, как можно получить контактные данные с видео, не используя какие-то специальные умения. Дисклаймер: этот пост носит образовательный характер, и демонстрирует как не стоит обращаться с данными клиентов.
      Читать дальше →
    • Эрланг для веб-разработки (2) -> БД и деплой;

      • Tutorial

      В первой статье мы познакомились с Эрлангом и фреймворком n2o. В этой части мы продолжим делать наш блог:
      • добавим авторизацию через фейсбук, для этого будем из клиента вызывать функции на сервере;
      • будем сохранять комментарии и посты в NoSQL базе;
      • развернем наш блог на DigitalOcean и замерим производительность (спойлер — 1300 запросов в секунду).


      Код из статей https://github.com/denys-potapov/n2o-blog-example, готовый проект можно посмотреть по адресу http://46.101.118.21:8001/.

      Читать дальше →
    • Эрланг для веб-разработки (1) -> Знакомство;

      • Tutorial

      Продолжение о базе данных и деплое во второй статье.

      Я начинаю публиковать серию статей о веб-разработке на Эрланге. Многие хотят попробовать Эрланг, но сталкиваются с проблемой, что вводные курсы в основном касаются Эрланга как функционального языка и далеки от реальных проектов (Learn You Some Erlang for great good! — хорошая и подробная книга). С другой стороны все обучающие материалы по веб-разработке подразумевают, что читатель уже хорошо знает Эрланг.

      Эта серия статей рассчитана для разработчиков, у которых есть опыт в веб-разработке (PHP, Ruby, Java), но не имеют опыта разработки на Эрланге.

      Задачей будет сделать блог. Код из статей https://github.com/denys-potapov/n2o-blog-example, готовый проект можно посмотреть по адресу http://46.101.118.21:8001/. Особенности проекта:
      • обновление комментариев в реальном времени;
      • авторизация через фейсбук;
      • данные храним в mnesia.

      В основе проекта феймворк n2o. Выбор довольно субъективен, но из живых Эрланг фреймворков, n2o мне показался наиболее «эрлангоподобным», в тоже время ChicagoBoss больше похож на MVC фреймворки в других языках.
      Читать дальше →
    • Простыми словами о Twelve-Factor App

        Известный провайдер heroku поддерживает манифест, который называется «12-факторное приложение» (Twelve-Factor App). Это набор лучших практик для разработки современных веб приложений на любой платформе. Практики описывают приложения, которые готовы:
        • к горизонтальному масштабированию;
        • к непрерывному развертыванию;
        • к современным облачным хостингам.

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

        Манифест (на хабре есть отличный перевод) слишком подробен и хорош для детального изучения. В этой же статье, я коротко остановлюсь на основных преимуществах.
        Читать дальше →
      • Открытая бухгалтерия в Министерстве образования и науки Украины

          В 2009 Тим Бернерс-Ли в своем выступлении на TED говорил об открытых данных и будущем интернета. На 10 минуте он вместе с залом скандирует «Raw data, now!» (сырые данные, сейчас же). Рекомендую всем, кто этого еще не сделал, посмотреть это выступление.



          21 февраля 2014 года студенты заняли здание Министерства образование и науки Украины с требованиями перемен. Вместе с политическими требованиями, они выдвинули требования открытой бухгалтерии. Уже 24 марта новый министр подписал указ №85-а о ежедневной публикации всех бухгалтерских проводок за день на сайте министерства. Само по себе открытие данных не должно было занять время, но оказалось, что в МОН фактически не было учетной системы, и, например, главная книга велась на бумаге.

          Сегодня данные доступны на сайте министерства (UPD: спасибо за новую ссылку sad. Дамп можно скачать по ссылке), а под катом короткая инструкция как обрабатывать данные, кабель на миллион гривен (около 50 тыс. долларов), и почему пока открытая бухгалтерия не так эффективна.
          Читать дальше →
        • Стартапы вдохновленные сексом: плюсы, минусы, подводные камни

          • Перевод
          Когда стартап сосредоточен на сексе, он встречает массу препятствий на пути от финансирования до рекламы. Вивьен Зянг рассказывает, как ориентированные на секс стартапы ищут пути чтобы оплатить счета без ущерба для своей миссии.

          От переводчика: Статья рассказывает о трудностях со стартапами только для взрослых на западе, и надо помнить, что в постсоветских реалиях большинство из описанных стартапов попадают под действие статей 242 УК РФ (до шести лет) или 301 УК Украины (до семи лет).

          Текст без картинок
        • Дэвид Чэппел о облаках и будущем разработки

            На конференции DevDay*Kyiv 2014 мне удалось пообщаться с автором ключевого доклада Дэвидом Чэппелом. Дэвид — известный спикер, консультант и автор книг, многие из которых используются для обучения в MIT и ETH. В своей работе он стремится помочь людям в ИТ понимать, использовать и принимать решения о новых технологиях.

            image

            Дэвид — специалист в облачных технологиях в корпоративном секторе, и поэтому ответы интересны, как взгляд из корпоративного мира на современные технологии и их разработку:
            • Какая компания сейчас сможет выйти на рынок публичных облаков?
            • Будут ли компьютеры частью интернета вещей?
            • Как плавающие релизы связанны с маркетингом?

            Вопросы и ответы
            • +17
            • 13,4k
            • 3
          • Генерация xkcd паролей на PHP

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


              Перевод, оригинал

              Все текущие реализации этого метода генерации паролей рассчитаны на английские слова, а значит пароли сложнее запомнить русскоязычным. Я вооружился частотным словарем русского языка, и сделал PHP библиотеку, которая поддерживает генерацию паролей из нескольких наборов слов:
              • английские слова (например, «idea critic happy chinese»);
              • русские слова (например, «порошок земля нуль платье»);
              • транслитерированные русские слова (например, «vysota razum bumazhka razmer»).

              Код и списки слов на GitHub.

              Описание библиотеки
            • Объектная гимнастика

              • Перевод
              В первых двух абзацах оригинального текста автор описывает как он пил пиво с друзьями. Я заменил их пятничной картинкой о гимнастике из детства.

              Объектная гимнастика (англ. Object Calisthenics) — это упражнения в программировании, которые состоят из 9 правил, которые Джефф Бей описал в своей книге «The ThoughWorks Anthology». Пытаясь как можно точней следовать этим правилам, вы измените свои привычки написания кода. Это не значит, что вы должны постоянно соблюдать все эти правила. Найдите баланс и используйте только те, которые вам удобны.

              Эти правила сфокусированы на читаемости, тестируемости, понятности и поддерживаемости вашего кода. Если вы уже пишите код, который читаем, тестируем, понятен и поддерживаем, тогда эти правила помогут сделать его более читаемым, тестируемым. Понятным и поддерживаемым.

              Ниже я прокомментирую этих 9 правил:
              1. Только один уровень отступа в методе
              2. Не используйте Else
              3. Оберните все примитивные типы и строки
              4. Коллекции первого класса
              5. Одна точка на строку
              6. Не используйте сокращения
              7. Сохраняйте сущности короткими
              8. Никаких классов с более чем 2 атрибутами
              9. Никаких геттеров, сеттеров и свойств

              Читать дальше →
            • Идеи для конкурса Nokia

                К выходу Lumia 1020 Nokia организовывала конкурс Future/Capture (о нем писали на хабре). На конкурс можно было подать три идеи приложений, которые в полной мере используют 41-мегапиксельную камеру. Я воспользовался этой возможностью, но не прошел отбор.

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

                1. Где Вальдо?


                Интерактивное приложение с игровым процессом похожим на книги и игры "Где Вальдо".

                Как работает?

                1. Вы делаете фотографию с большим количеством мелких деталей, например концерт, пляж или лес.
                2. Вы делаете квест из вашей фотографии — отмечаете маленькие зоны интереса (например вас, котят, небольшие предметы).
                3. Делитесь квестом с вашими друзьями.
                4. Задача ваших друзей найти точки, которые вы отметили. Это могут быть соревнования между друзьями, поиски на время или рейтинги.

                3 котенка


                Еще 2 идеи ...
                • +10
                • 9,9k
                • 5