• Удачная модель ветвления для Git

    • Translation
    Перевод статьи Vincent Driessen: A successful Git branching model

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



    В качестве инструмента управления версиями всего исходного кода она использует Git.

    Читать дальше →
  • Нейронная сеть против DDoS'а

      Предисловие


      Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

      И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

      Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

      Читать дальше →
    • Визитка — прямой канал коммуникации

        А у вас есть визитка?



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

        Креативные визитки

        Программист
        image

        image
        Читать дальше →
      • Об обучении нейросетей

          image
          Это статья уровня 2 (см. ниже).
          Статья является логическим продолжением моего рассказа про сверточные нейронные сети и их применения для распознавания изображений.
          Прежде чем продолжить хочу дать понимание чем же все таки занимаются люди из области Машинного обучения и какова их глобальная цель. Глобальная цель — это порабощение всех людей машинами создание методов и алгоритмов, способных путем обучения выстраивать сложные и нелинейные модели внешнего мира. В качестве пояснения предлагаю взглянуть на картинку, благодарно позаимствованную из [1]. Сейчас человечество уже умеет создавать алгоритмы, способные учится простым операциям, но что насчет такого вот преобразования — у нас есть изображение сидящего человека которое по сути является сырым вектором значений яркости картинки в каждой точке. И нам необходимо постепенно повышая абстрактность этих сырых данных сделать вывод «человек сидит». Отсюда собственно главный вопрос: Как создать систему способную не только понять простые (пусть и нелинейные) зависимости, но также обучиться сложным, многомерным и многоуровневым иерархиям представлений реального мира?
          Читать дальше →
        • Применение нейросетей в распознавании изображений

            Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
            Читать дальше →
          • GuruPlug Server — новая версия ультракомпактного Linux сервера размером с зарядное устройство

              image

              Ранее на Хабре уже упоминались предшественники этого компактного компьютера (ссылка #1 и ссылка #2)
              Более ранняя модель в линейке называется SheevaPlug и продаётся по цене 99$.
              Разработчики из Marvell пошли дальше и на выставке CES2010 были анонсированы новые модели —
              GuruPlug Server и GuruPlug Server — PLUS (с расширенным функционалом).
              Модель GuruPlug Server дополнительно имеет:

              2 x Gb Ethernet
              2 x USB 2.0
              1x eSATA @ 3Gb/s SATAII
              1x MicroSD Slot)

              В двух словах, GuruPlug Server – PLUS это ультракомпактный компьютер, размером с зарядное устройство для AAA аккумуляторов, однако внутри установлен 1,2 GHz процессор, 512 RAM, адаптер Wi-Fi 802.11b/g,
              Bluetooth: 2.1 / EDR, также имеются два порта USB 2.0 и два Ethernet-разъема, кроме этого имеется возможность подключения устройств по интерфейсам eSATA и SATAII, а также встроенный слот для карт памяти microSD.
              Читать дальше →
            • IT блоггеры Рунета, где вы?

                Буквально вчера я понял, что кроме Хабра в моем RSS ридере нет ни одного русскоязычного источника IT информации. Несправедливость какая-то, подумал я и принялся составлять список блоггеров, которых было бы интересно почитать и за которыми хотелось бы активно следить. Задача эта, как ни странно, оказалась не из самых простых. Поэтому и обращаюсь за помощью к Хабрачеловекам.

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

                Сразу скажу, что лично меня не интересует: блоги с превалирующей информацией на личные темы; переводчики-кросспостеры информации с западных мейнстримовых блогов (TC, Mashable, Technorati и т.п.), ну и наверное всё.

                UPD: Огромное спасибо всем, кто прислал линки! Под катом находится лишь малая доля ссылок, присланных хабрапользователями, основные сливки в комментариях
                Читать дальше →
              • Как сверстать веб-страницу. Часть 2 — Bootstrap

                • Tutorial

                Введение


                Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

                В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
                Читать дальше →
              • Как сверстать веб-страницу. Часть 1

                Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
                В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

                Часть 1. Верстка стандартными средствами


                Преимущество данной верстки состоит в том, что код получается более «чистым», а значит быстрее загружается и легче изменяется под специфические нужды. Недостаток такой верстки заключается в том, что она требует значительно больше времени, чем при использовании фреймворков.

                Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.
                Читать дальше →
              • Устройство минималистичных посадочных страниц

                • Translation
                • Tutorial


                Предыдущий перевод (Landing page, которая работает), посвященный дизайну качественных посадочных страниц набрал больше 150 000 просмотров. С тех пор прошло уже много времени и подход к дизайну изменился – все больше становится минималистичных страниц, о которых и пойдет речь в статье.
                Читать дальше →
              • Защищаем персональные данные по новому приказу ФСТЭК. Больше ответов или вопросов?

                  15 мая 2013 года Минюст наконец-то зарегистрировал приказ ФСТЭК № 21 от 18 февраля 2013 «Об утверждении Состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных».

                  Почему же «долгожданный»? Да потому, что с момента выхода постановления Правительства РФ № 1119 (1 ноября 2012 года) любые вопросы по технической защите персональных данных оказались в неопределенно-подвешенном состоянии. Получилось так: новым постановлением отменены старые классы информационных систем персональных данных (ИСПДн) и введено понятие «Уровни защищенности ИСПДн», но как и чем защищаться в каждом конкретном случае как раз и должен был нам рассказать новый приказ ФСТЭК, который мы ждали «каких-то» полгода.

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

                  В этой статье я постараюсь простым языком проанализировать новый документ ФСТЭК России, взвесить его плюсы и минусы, а также постараться ответить на вопрос «что же теперь делать операторам персональных данных?».

                  Читать дальше →
                • Ресурсы, о которых должен знать каждый Android-разработчик

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

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

                  Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
                  Читать дальше →
                • Почтовые индексы — на свободу! (Реверсинг в картинках)

                  • Tutorial
                  Пару лет назад я писал об использовании базы PAF (Postcode Address File) британской Королевской почты (Royal Mail) для приведения почтовых адресов, вводимых пользователями, к стандартному виду. Поскольку PAF — основная интеллектуальная собственность Royal Mail, то заполучить её не так-то просто: годовая подписка стоит от £400 в зависимости от полноты базы и от частоты апдейтов. Спустя неделю-другую после оформления подписки по почте приходит солидная красная коробочка с CD-диском:


                  На диске — EXE-файл, который запрашивает «серийный номер» и распаковывает базу (набор CSV-файлов) на диск. Серийный номер присылают отдельно, чтобы злоумышленник, перехвативший посылку, не смог бы воспользоваться базой. (Вот выдумают же — текстовый файл с серийным номером!) Номер у каждого клиента свой, чтобы в случае «утечки» было ясно, к кому предъявлять претензии. Впрочем, организовать «утечку» самих данных серийный номер никак не мешает, и на WikiLeaks в 2009 г. появилась база Postzon (одна из составляющих PAF). В комментариях к ней отмечено, что "данная база составлена на средства налогоплатильщиков, и активисты, в их числе газета The Guardian и сэр Тим Бернерс-Ли, уже давно пытаются убедить Royal Mail открыть свободный доступ к PAF; но до сих пор эти попытки не увенчались успехом". Впрочем, через год после появления Postzon на WikiLeaks аналогичная по содержанию база появилась в открытом доступе от имени британской картографической службы Ordnance Survey и под названием OS Code-Point Open — таким образом и Royal Mail сохранила лицо, не уступив требованиям активистов, и утёкшие данные официально получили статус общедоступных. Тем не менее, полностью PAF до сих пор необщедоступна. (Пока я готовил эту статью, Postzon и с WikiLeaks куда-то пропала; но гугл всё помнит.)

                  Спустя год после получения PAF мне понадобилось в неё снова заглянуть, но листочек с серийным номером, присланный отдельно от диска, за год успел куда-то затеряться. Тут мне и стало интересно — насколько сложно будет обойти проверку серийного номера в продукте таком солидном и так яростно защищаемом от «освободителей информации»? Через полчаса данные были у меня на винте, а сама программа-распаковщик мне показалась неплохим демонстрационным примером для начинающих реверс-инженеров. Никакая IDA не потребуется — только бесплатные и быстроустанавливаемые инструменты.

                  Суровые ассемблерщики, которых боится даже Касперский, наверняка сочтут данный пример игрушечным, и, позёвывая, пролистают весь остаток статьи. Ну и ладно — туториалы в стиле «как нарисовать сову» меня раздражают намного больше, чем те, в которых разжёвываются простые вещи.
                  Читать дальше →
                • Распознавание почтовых адресов

                    Дело началось с того, что одна небольшая английская компания решила рассылать рекламные листовки своим существующим и потенциальным клиентам.
                    Обнаружилась проблема: есть отдельная внутренняя база клиентов, делавших заказы по телефону; отдельная база веб-клиентов, делавших заказы на сайте; и несколько баз «потенциальных клиентов» от разных информаторов.
                    Тысячи клиентов попали сразу в несколько баз, или даже несколько раз в одну базу.
                    Если клиент, «засветившийся» пять раз, получит пять одинаковых рекламных листовок с немного отличающимся написанием имени или адреса, то эффект от такой кампании получится противоположный — не говоря уже о бессмысленных расходах на лишние листовки.
                    Как же отсеять повторы в списке рассылки?

                    Среди всех данных о клиенте самое однозначное, что его определяет — это почтовый индекс (postcode). Этого мало, но это хорошая отправная точка.
                    Читать дальше →
                  • DivShot — онлайн-сервис прототипирования Bootstrap

                      DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

                      Читать дальше →
                      • +135
                      • 73.2k
                      • 21
                    • Использование async и await в C# — лучшие практики

                      • Translation
                      • Tutorial

                      Ключевые слова async и await, введённые в C# 5.0, значительно упрощают асинхронное программирование. Они также скрывают за собой некоторые сложности, которые, если вы потеряете бдительность, могут добавить проблем в ваш код. Описанные ниже практики пригодятся вам, если вы создаёте асинхронный код для .NET приложений.
                      Читать дальше →
                    • Наберитесь смелости сделать не как все. 12 устаревших интерфейсных и технологических решений

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

                        Подтверждение пароля или email при регистрации


                        Как часто случается, что человек промахивается, и набирает неправильный пароль, когда он внимательно набирает его в первый раз при регистрации? Что случится, если он при регистрации ошибется в пароле? Какие эмоции вы испытываете, когда вас просят ввести подтверждение пароля? Было ли хоть раз, что вы не копировали подтверждение email из первого поля, а набирали его руками?


                        Читать дальше →
                      • Сервис для создания планировок помещений и интерьеров



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

                          Итак, пару лет назад, оба фаундера практически одновременно попали в жизненную ситуацию, которая бывает у всех — настало время ремонта.

                          Что из этого вышло