• Об очень шпионском методе аутентификации

      Итак, мы засылаем супер-секретных агентов Алису и Боба во вражескую страну под прикрытием. В процессе миссии им предстоит связаться и работать вместе, обмениваться информацией, обычные шпионские дела. Конечно, все это нужно делать с соблюдением всех возможных правил и техник безопасности.


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


      Но как тогда им опознать своего товарища по штабу?


      КДПВ


      TL;DR — изобретаем механизм аутентификации пользователей с помощью стеганографии для воображаемого трехсимвольного агентства несуществующей страны.

      Читать дальше →
    • Code review по-человечески (часть 1)

      • Translation
      • Tutorial
      В последнее время я читал статьи о лучших практиках code review и заметил, что эти статьи фокусируются на поиске багов, практически игнорируя другие компоненты ревью. Конструктивное и профессиональное обсуждение обнаруженных проблем? Неважно! Просто найди все баги, а дальше само сложится.

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

      Моя революционная книга обучит вас проверенным техникам по выявлению максимального количества недостатков в своём партнёре. Книга не затрагивает следующие области:

      • Обсуждение проблем с сочувствием и пониманием.
      • Помощь партнёру в устранении недостатков.

      Насколько я могу понять из чтения литературы по code review, эти части отношений настолько очевидны, что вообще не стоят обсуждения.

      Как вам нравится такая книжка? Предполагаю, что она вам не очень по душе.
      Читать дальше →
    • Квантовые шахматы

      Intro


      Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


      Я работаю в IT, а по образованию – физик-теоретик. Уже долгое время увлекаюсь популяризацией науки, и теоретической физики в частности. Постараюсь аналогично вышеупомянутому посту о специальной теории относительности объяснить на специально подготовленном примере как работает квантовая механика.


      Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


      Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


      Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.


      Читать дальше →
    • [ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1

      • Translation


      Это первая часть, вот вторая.
      За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.

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

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

      Данная статья — попытка этот обзор написать. Хотя нет, это скорее пост ненависти и боли (может даже немного нытья). Это такой расширенный вариант поста про минусы от pistol. Я постараюсь описать большинство тех вещей, которые раздражают именно меня и моих коллег в Битриксе. Постараюсь собрать в одном посте все те минусы, которые доставляют ежедневно очень много боли. Под конец я постараюсь сделать выводы.

      Кто я такой? Да в общем-то, обычный разработчик. Работаю с битриксом с ноября 2010 года (5.5 лет). Работаю только с битриксом, не сделал ни одного коммерческого проекта на других CMS, не использовал фреймворки в создании сайтов. По роду деятельности я занимаюсь в основном интернет-магазинами, их созданием, поддержкой и развитием.
      Читать дальше →
    • Утилита Windows 10 Rollback позволит откатиться с Windows 10 на W 7, 8 или 8.1 в несколько кликов

        Приветствуем вас на страницах блога iCover. Увы, не всегда обновление системы до Windows 10 происходит с нашего согласия и ведома. Как быть, если вас «обновили» и необходимо вернуться на привычную 7-ку, 8 или 8.1? В связи с тем, что подобное явление не редкость, мы расскажем об одном из самых простых, быстрых и безболезненных способов выхода из ситуации на тот самый случай, если это таки произойдет.

        image
        Подробнее
      • Алгоритмы — это лишь одна из переменных в уравнении

          Прочитал весьма занимательную статью про важность алгоритмов, вывод из которой показался мне весьма спорным

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



          Все дело в том, что разработка ПО — это не просто алгоритмы или языки.
          Читать дальше →
        • Научные мультфильмы, что показывать детям без вреда для них?

          image
          Объяснение закона гравитации из мультфильма «Физика для самых маленьких»

          У меня растет два очень любознательных сына в возрасте три и пять лет. Они очень любят научные мультики, особенно по физике и астрономии, как только в их руки попадает планшет, маленькие пальчики начинают быстро перебирать видеоролики из YouTube в поисках интересного контента. И что же они там находят? Поскольку я не только отец двоих детей, но еще и существенную часть жизни посвятил методике преподавания физики для маленьких детей, я знаю, что показывают детям учителя, а также заботливые родители и добрые бабушки. Скажу сразу, не все из этого стоит показывать детям.
          Осторожно! Под катом горькая правда
        • 43 полезных сервиса для управления проектами. Без эпитетов

            Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

            Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

            Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

            Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




            Читать дальше →
          • Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1

              Сегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера:
              vortex-win.data.microsoft.com
              settings-win.data.microsoft.com

              Передача осуществляется через TCP по порту 443 с использованием SSL.
              Для параноиков людей, беспокоящихся о несанкционированной передаче информации Microsoft (далее возможно и третьим лицам), предлагаю добавить сервера в список исключений маршрутизатора, а следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts):
              127.0.0.1 vortex-win.data.microsoft.com
              127.0.0.1 settings-win.data.microsoft.com
            • «Ваша конфиденциальность очень важна для нас». Читаем Заявление о конфиденциальности корпорации Майкрософт

                Прошлая неделя во многом прошла под знаком Microsoft — точнее обсуждения того, какие персональные данные собирает новая операционная система. Но прежде, чем подробно разобрать этот вопрос, позволю себе цитату из The Guardian:

                Несколько жителей Лондона согласились с условием «отдать своего первенца», чтобы получить доступ к бесплатному Wi-Fi в одном из оживленных районов столицы Великобритании во время проведения эксперимента, исследующего опасности использования публичных точек доступа. Люди, не знавшие об эксперименте, пытались найти Wi-Fi, и, обнаружив бесплатную сеть, бездумно «подписывали пользовательское соглашение», даже не прочитав его. Между тем, за доступ в Интернет от пользователя требовали отдать провайдеру своего старшего ребенка «на веки вечные».
                После того, как шесть человек согласились с таким условием, эта часть эксперимента был прекращена.

                Ну а теперь посмотрим, что хочет знать о нас Microsoft.
                Читать дальше →
              • Пишем Telegram бота на Ruby в 10 строк

                • Tutorial

                После выпуска Telegram Bot Platform многие задумывались о написании своего бота. Этот пост описывает минимальные шаги, необходимые для написания собственного бота на Ruby. Для этого потребуется только аккаунт в Telegram и машина с установленным Ruby на ней.
                Читать дальше →
              • Будущее влияет на прошлое? Учёные подтвердили мысленный квантовый эксперимент Уилера на примере отдельных атомов

                  image
                  Профессор Эндрю Траскот и студент Роман Хакимов отважно заглядывают в квантовый мир

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

                  Этот принцип — один из фундаментальных законов, который мало кто оспаривает. Хотя многие физические величины и явления не меняются, если мы обратим время вспять (являются Т-чётными), существует фундаментальный эмпирически установленный принцип: событие А может влиять на событие Б, только если событие Б произошло позже. С точки зрения классической физики — просто позже, с точки зрения СТО — позже в любой системе отсчёта, т.е., находится в световом конусе с вершиной в А.

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

                  Кроме одного момента — квантовой физики. Там вообще много странного. Вот, например, классический эксперимент с двумя щелями. Если мы поместим препятствие со щелью на пути источника частиц (например, фотонов), а за ним поставим экран, то на экране мы увидим полоску. Логично. Но если мы сделаем в препятствии две щели, то на экране мы увидим не две полоски, а картину интерференции. Частицы, проходя сквозь щели, начинают вести себя, как волны, и интерферируют друг с другом.
                  Читать дальше →
                • Приведение типов в PHP == табурет о двух ножках?

                    image

                    — В PHP приведение типов работает нормально, надо только включать здравый смысл.
                    — А чего там, просто сравниваешь и все…
                    — Ого, глюк какой-то в PHP, смотри, сравниваю два флоата, они должны быть одинаковые, а он мне говорит, что они не равны.
                    — А, ну когда число со строкой сравниваешь, перебирать надо, что сработает.

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

                    Буду краток, дальше будут только примерчики. А к тебе, дорогой читатель, просьба. Некоторые ответы спрятаны под спойлер. Перед тем, как заглянуть в ответ под спойлером, попробуй ответить сам. За каждый правильный ответ заслуженно прибавляй себе по баллу. В конце поста в опросе не забудь проставить свой результат. Договорились?
                    Тогда поехали
                  • Любой поисковик в России станет спутником, либо ему грозит забвение



                      В Госдуму внесен законопроект о «праве на забвение» – он устанавливает для поисковых систем обязанность удалять ссылки на персональную информацию по заявлению гражданина. Авторы документа – депутаты Алексей Казаков, Вадим Деньгин, Ольга Казакова и Леонид Калашников. Поправки вносятся в закон об информации, Гражданский кодекс и Процессуальный кодекс и Кодекс об административных правонарушениях.

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

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

                      • Translation
                      или «Прекратите характеризовать хранилища данных как CP или AP»

                      capДжеф Ходжес в своем прекрасном посте «Заметки о распределенных системах для новичков» рекомендует использовать САР теорему для критики найденных решений. Многие, похоже, восприняли этот совет слишком близко к сердцу, описывая свои системы как «СР» (согласованность данных, но без постоянной доступности при сетевой распределенности), «АР» (доступность без согласованного состояния при сетевой распределенности), или иногда «СА» (означает «Я всё ещё не читал статью Коды (Coda Hale) почти 5-летней давности»).

                      Я согласен со всеми пунктами статьи кроме того, что касается САР теоремы. Она слишком всё упрощает и слишком многие понимают её неверно для того, чтобы использовать для определения характеристик системы. Так что я прошу перестать ссылаться на САР теорему, говорить о ней и дать ей уже спокойно уйти на покой. Вместо неё мы должны использовать более точную терминологию для обсуждения различных компромиссов.

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

                      САР использует слишком узкое определение


                      Если вы хотите ссылаться на САР как на теорему (а не на расплывчатый концепт в маркетинговых материалах к вашей базе данных), вы должны быть точны. Математика требует точности. Доказательство сохраняется только если вы вкладывается в слова, то же самое значение, что было использовано при доказательстве. И оно опирается на очень точные определения:
                      Еще 3000 слов увлекательного чтива
                    • Устройство на базе Ардуино вскрывает навесной замок за несколько секунд



                        Неутомимый хакер Сэми Камкар опубликовал чертежи, схемы и список деталей, необходимых для создания системы автоматического открывания кодового замка Masterlock. Менее чем за $100 можно изготовить устройство, открывающее такой замок за несколько секунд.

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

                        Также у него был интересный проект SkyJack – коптер, использующий Raspberry Pi для взлома и перехвата управления у других, оказавшихся поблизости коптеров. И довольно страшноватое «украшение» USBdriveby – USB-устройство на цепочке, которое после подключения к любому компьютеру превращает его в удалённо подконтрольный, и заметает все следы менее чем за 60 секунд (для этого используются эмуляция мыши, клавиатуры и несколько записанных в памяти программ).

                        Заинтересовавшись недавно схемой работы распространённого недорогого навесного замка Masterlock, Камкар узнал, что существует методика для уменьшения количества комбинаций, которые надо перебрать, чтобы открыть замок. Вместо теоретического количества в 64000 необходимо перебрать всего 100 штук. Хакер задумал изготовить устройство с мотором и контроллером, которое бы автоматически делало эту работу. Простейший шаговый мотор под управлением Ардуино взламывает такой замок менее чем за 5 минут.
                        Читать дальше →
                      • Мифы о НАСА

                          В работе любой организации со временем может накапливаться множество мифов и недопониманий. Не избавлено от этого американское космическое агентство НАСА. Здесь собраны четыре наиболее раздражающих автора заблуждения.

                          168 ошибок в фильме «Армагеддон»


                          Американский ненаучно-фантастический фильм 1998 года повествует о грозящей гибели всего живого на Земле из-за столкновения с астероидом и отчаянных попытках человечества остановить или разрушить это небесное тело. В фильме очень много ошибок, и многие связаны с космосом и космическим полётом. Поэтому НАСА использует фильм для тренировки новых сотрудников. Ошибок всего насчитано 168, будущим менеджерам предлагается посмотреть фильм и найти как можно больше.

                          Эту байку распространяют не только «Википедия», развлекательные ресурсы и разнообразные сайты о кино, но и новостные издания. Источником мифа является статья в журнале NewScientist от 1 сентября 2007 года. При этом у изложенного факта нет никакого официального подтверждения даже в первоисточнике. Кто придумал число 168, остаётся загадкой.
                          Читать дальше →
                          • +33
                          • 28.5k
                          • 6
                        • Приглашения на работу прячут в заголовки HTTP

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

                            Это довольно банальный приём, но в последнее время компании придумали новые трюки. Специалист по безопасности Трой Хант рассказал о случае, который произошёл во время занятий по информационной безопасности в Сиднее. Один из студентов во время выполнения упражнения из курса «Сначала хакни свои API» (платный курс Ханта) обратил внимание на необычный HTTP-ответ, который пришёл через мобильные API с сервера Airbnb:

                            X-Hi-Human: The Production Infrastructure team added this header. Come work with us! Email kevin.rice+hiring@airbnb.com
                            Читать дальше →
                          • Запускаем PHPUnit тесты для проекта на 1С-Битрикс

                            • Tutorial
                            Здравствуйте коллеги,

                            В этом посте хочу показать свой способ запуска юнит-тестов на битрикс-проектах. При юнит-тестировании таких проектов существует известная проблема инициализации ядра системы. Ниже я покажу как мне удалось ее решить.
                            Читать дальше →
                            • +4
                            • 10.5k
                            • 8