• Как найти скрытую камеру в съемной квартире или номере отеля


      Airbnb и его аналоги решают множество проблем со съемом жилья. Но такая аренда также включает и некоторые риски. Например, недобропорядочные собственники могут устанавливать скрытые камеры в квартирах, комнатах и домах и не сообщать о съемке своим постояльцам, тем самым нарушая закон.Аналогичным образом поступают и отели, хотя и гораздо реже, чем собственники жилья.

      Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.
      Читать дальше →
    • Разбираемся с передачей видео в разрешении 4К на 60 Гц через хаб USB-C

      • Translation


      USB-C предлагает новые потрясающие возможности, включая подключение внешних мониторов по USB-порту. Распространены недорогие конвертеры USB-C на DisplayPort и HDMI. Также часто встречаются хабы USB-C с поддержкой внешних мониторов, однако попытки разобраться в их возможностях и ограничениях могут сильно вас запутать. Некоторые из них совместимы с Mac, некоторые – нет. Некоторым нужны драйвера. Очень сильно разнится поддержка разрешений и частоты обновления. Некоторые рекламируются как «не предназначенные для игр». Делаются упоминания об альтернативных режимах, дуальных режимах, и прочем. Цены разнятся от $20 до $300+, причем функции у тех и других очень похожи. Что вообще происходит?

      Это инструкция по передаче видео высокого разрешения по USB-C, которую я хотел бы в своё время иметь. Если вы хотите подключить монитор высокого разрешения к своему компьютеру, имеющему выход USB-C, читайте далее.
      Читать дальше →
    • Конец халяве: I Also Know What You Download (часть 2)

        UPDATE: пост обновлен 11 мая 2017.

        Примерно с месяц назад я написал пост про один нехороший сервис, которой отслеживает скачанные торренты. Появился повод написать небольшое продолжение.

        NOTE: далее немного воды, и про баржу, и про канал, так что можно сразу переходить к разделу «Переходим к сути».

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

        В этом пути и возникло интересное продолжение по теме.

        image
        Читать дальше →
      • 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

        • Translation
        • Tutorial


        Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
        Читать дальше →
      • Полное практическое руководство по Docker: с нуля до кластера на AWS

        • Translation



        Содержание



        Вопросы и ответы


        Что такое Докер?


        Определение Докера в Википедии звучит так:


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



        Ого! Как много информации.

        Читать дальше →
      • Биткойн — деньги для всех

        • Translation
        Перевод книги Adam Tepper «Bitcoin — The People's Money». Книга представляет собой отличное введение в биткойн «с нуля», но может оказаться полезной и тем, кто уже разбирается в теме.


        Читать дальше →
      • Подборка подкастов по программированию на русском и английском языках

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

          Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

          И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
          Читать дальше →
        • Простой способ попасть в VIP-зал европейского аэропорта

            Покупать билет бизнес-класса не нужно, необходимо лишь составить корректный для сканера посадочных талонов QR-код



            Пшемек Ярошевски демонстрирует QR-код, позволяющий ему получить доступ в VIP-зал аэропорта

            Глава польского подразделения «Компьютерной группы реагирования на чрезвычайные ситуации» (computer emergency response team, CERT) Пшемек Ярошевски (Przemek Jaroszewski) очень часто отправляется в международные командировки. Обычно он летает самолетом, в среднем 50 — 80 раз в год. С такой частотой перелетов авиакомпании предоставляют клиенту множество бонусов, включая доступ в VIP-залы. Ярошевски по душе зал Turkish Airlines, где можно посмотреть кино, опробовать турецкую выпечку и даже получить сеанс бесплатного массажа.

            В одном из полетов статус вип-клиента не был распознан системой при сканировании посадочного талона поляка. Ярошевски решил проблему, используя свои навыки специалиста по информационной безопасности. Он научился составлять для системы аэропорта QR-код, позволявший ему получить статус вип-клиента практически в любом из аэропортов Европы.
            Читать дальше →
          • Когда мы написали сотое API мы поняли…

              Мы в Perfect Solutions на прошлой неделе написали сотое по счету API. За все это время, ценой граблей, костылей, велосипедов и рефакторинга, мы поняли, что выработали отличную стратегию «как писать API и прекратить боль и страдание».

              Этот пост о версировании, поддержке, багфиксинге и полном цикле жизни API.

              Под катом нет фото с большим трафиком, нет серебрянных пуль, тут даже нет картинки для привлечения внимания — только полезная выжимка нашего опыта. Под катом методология, выработанная на реальном опыте разработки, набитых шишках и сломанных грабляхъ.
              Читать дальше →
            • Подходы к проектированию RESTful API


                Автор: Вячеслав Михайлов, Solutions Architect.

                В этой статье я поделюсь опытом проектирования RESTful API — на конкретных примерах покажу, как делать хотя бы простые сервисы красиво. Также мы поговорим, что такое API и зачем он нужен, поговорим об основах REST — обсудим, на чем его можно реализовывать; коснемся основных веб-практик, которые зависят и не зависят от этой технологии. Также узнаем, как составлять хорошую документацию, затрачивая на это минимум усилий, и посмотрим, какие существуют способы нумерации версий для RESTful API.

                Часть 1. Теория


                Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

                Почему хороший API — это важно?

                • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
                • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
                • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
                • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
                • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.


                Теперь посмотрим, какие бывают виды API.

                Виды API по способу реализации:
                • Web service APIs
                  • XML-RPC and JSON-RPC
                  • SOAP
                  • REST

                • WebSockets APIs
                • Library-based APIs
                  • Java Script

                • Class-based APIs
                  • C# API
                  • Java



                Виды API по категориям применения:

                • OS function and routines
                  • Access to file system
                  • Access to user interface

                • Object remoting APIs
                  • CORBA
                  • .Net remoting

                • Hardware APIs
                  • Video acceleration (OpenCL…)
                  • Hard disk drives
                  • PCI bus



                Читать дальше →
              • Сбор и анализ логов демонов в Badoo

                  Введение


                  В Badoo несколько десятков «самописных» демонов. Большинство из них написаны на Си, остался один на С++ и пять или шесть на Go. Они работают примерно на сотне серверов в четырех дата-центрах.

                  В Badoo проверка работоспособности и обнаружение проблем с демонами лежат на плечах отдела мониторинга. Коллеги с помощью Zabbix и скриптов проверяют, запущен ли сервис, отвечает ли он на запросы, а также следят за версиями. Кроме того, в отделе анализируется статистика демонов и скриптов, работающих с ними, на предмет аномалий, резких скачков и т.п.



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

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

                    image

                    Начнем с важной информации: совсем не обязательно перспективные языки являются новыми. Им не так много лет, как вашим любимым Python или Ruby, их нет ни в одной топовой десятке популярных рейтингов (GitHut, RedMonk, TIOBE Index), а знание этих языков не дает пока существенной прибавки к зарплате (за исключением, возможно, Swift). Но и назвать их революцией, набирающей обороты в среде избранных, тоже нельзя. Безусловно, у них есть своя ниша, определенная доля рынка (до 2%) и сложившееся комьюнити. Просто в будущем именно они могут посягнуть на лавры топ-5, если не случится событие типа «черный лебедь».

                    За последние годы в рейтингах популярности языков мало что изменилось — одни опускаются, другие поднимаются, но никто не врывается в топ под лозунгом «лучший из лучших». Процесс захвата новых территорий для языка чаще всего занимает годы, и за это время успевает сформироваться необходимая база развития. Поэтому никаких эксклюзивов и написанных за вчерашний вечер уникальных языков в обзоре не будет — просто потому, что их время еще не настало. Но в ближайшие годы популярность незыблемых столпов, таких как Java (вся), JavaScript или PHP, будет снижаться, а их место постепенно займут «новички».
                    Читать дальше →
                  • Мои правила дизайна хорошего интерфейса

                      image

                      В этой статье я привожу примеры основных принципов или концепций, которыми руководствуюсь при проектировании десктопных интерфейсов. Не планирую выступать новатором или поучителем, но с радостью поделюсь набором установок, который помогает мне в работе.
                      Читать дальше →
                    • Ваши вопросы о Data Science

                        Привет, хабр!

                        Мы перезапустили MLClass! — первое в России сообщество любителей Data Science

                        В связи с этим, как и обещал в статье Ваш персональный курс по Big Data, выкладываю ответы на самые часто задаваемые вопросы, которые возникают у людей, интересующихся Data Science и Big Data. Ответы даны лучшими практиками анализа данных: победителями Kaggle, сотрудниками многих компаний, внедряющих у себя Big Data решения и всеми, кто знает, что такое Data Science не понаслышке. Стоит отметить, что с каждым днем все больше людей в России (а также в странах СНГ) интересуются анализом данных, проходит все больше соревнований, хакатонов. Однако, до сих пор вокруг этой темы существуют большое количество мифов, которые я собираюсь развеять в этом посте!

                        Итак, я взял около 100 самых распространенных вопросов, выделили из них наиболее обсуждаемые, и прокомментировал каждый из наиболее подробно, чтобы вопросов больше не осталось!
                        Читать дальше →
                      • Введение в машинное обучение с помощью Python и Scikit-Learn

                        Привет, хабр!



                        Меня зовут Александр, я занимаюсь машинным обучением и анализом веб-графов (в основном — теоретическим), а также разработкой Big Data продуктов в одном из операторов Большой Тройки. Это мой первый пост — прошу, не судите строго!)

                        В последнее время ко мне все чаще стали обращаться люди, которые хотят научиться разрабатывать эффективные алгоритмы и участвовать в соревнованиях по машинному обучению с вопросом: «С чего начать?». Некоторое время назад я руководил разработкой инструментов Big Data для анализа медиа и социальных сетей в одном из учреждений Правительства РФ, и у меня остался некоторый материал, по которому обучалась моя команда и которым можно поделиться. Предполагается, что у читателя есть хорошее знание математики и машинного обучения (в команде были в основном выпускники МФТИ и студенты Школы Анализа Данных).
                        Читать дальше →
                      • Как оформлять коммиты, чтобы потом не было больно

                        • Translation
                        Несколько дней назад David Demaree, главный по Typekit в Adobe, издал крутую книжку "git для людей". Чтобы привлечь к ней внимание, он опубликовал выжимку самой, на мой взгляд, интересной главы — как оформлять коммиты чтобы и волки были целы, и овцы сыты, и песец не пришел. А я за эти выходные подготовил выжимку из выжимки — сокращенный и адаптированный перевод, чтобы можно было быстро прочитать и добавить в копилку своего опыта самое ценное.
                        Читать дальше →
                      • 400 потрясающих бесплатных сервисов

                        • Translation

                        Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

                        И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



                        A. Бесплатные веб-сайты

                        • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
                        • Bootswatch: Бесплатные темы для Bootstrap.
                        • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
                        • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
                        • Strikingly: Конструктор веб-сайтов.
                        • Layers: Создание сайтов на WordPress (new).
                        • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
                        • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
                        Читать дальше →
                      • Подборка бесплатных инструментов для разработчиков

                        • Translation
                        Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

                        Читать дальше →
                      • Достаточно Git-а, чтобы быть (менее) опасным

                        imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

                        Хорошие новости! Я написал тебе этот изумительный Интернет-пост. Я надеюсь, что смогу размазать достаточно Git-а по твоему лицу, чтобы понизить вероятность сделать что-то непоправимое, а так же уменьшить твой страх что-то сломать. Этого должно быть также достаточно, чтобы сделать документацию Git немного более понятной; она крайне тщательно и глубоко проработана и очень глупо, если ты все еще не прочитал половину.

                        Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
                        Но подожди! Там еще...
                      • 200 блогов по разработке и проектированию

                        • Translation


                        Привет, Хабр! Мы решили посмотреть на то, как крупнейшие бизнесы и студии делятся своими наработками, и адаптировали подборку технологических блогов. Уверены, что опыт коллег поможет нам всем сделать Хабр еще интереснее.
                        Читать дальше →