• ? Skype превратился в унылое подобие… и продукт, позволяющий получить полный доступ к вашей системе? Есть ли надежда?

      Извините, накипело! Сегодняшний повторный инцидент с загрузкой 500+ МБ паразитного трафика за 15-20 минут, который я не заказывал, стал последней точкой, когда я всерьез задумался снести мессенджер, которым пользовался практически с самого начала его создания и отказаться от дальнейшего пользования. Весь мой лимит мобильного LTE доступа в Интернет в 1 ГБ в сутки Скайп успешно съел, оператор ограничил скорость до 300 Кбит / с и нужно ждать, пока обновится пакет (доплатить и перезаказать ранее срока без смены тарифа нельзя, 21-й век на дворе!). Но причина моего гнева не в этом, а в том, что я параноик в области безопасности. Skype теперь пытаетесь инфицировать мне Mac? Отслеживать мои данные? Или же это проделки хакеров, которые через Skype пытаются меня взломать? Но в начале, перед тем, как я расскрою факты, хочу вспомнить историю этого беспредела.

      Несколько лет назад я перешел на Mac, в свою очередь несколько лет назад Skype перешел на Microsoft. Какая ирония! Ну почему, ну почему Skype не был выкуплен компанией Apple? Или любой другой компанией, которая уважает своих клиентов и хотя бы не делает хуже! Я не говорю о том, что в целом было бы неплохо делать лучше, особенно на фоне конкуренции с другими мессенджерами, типа Telegram, который также есть за что покритиковать, но самая большая моя проблема там — не могу скопировать текст выходящий за область прокрутки, также удобно, как в Skype, приходится копировать по частям.
      Читать дальше →
    • Доступно о кватернионах и их преимуществах

      • Перевод

      От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.

      Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.

      $i^2=j^2=k^2=ijk=-1$




      Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

      В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
      Читать дальше →
    • Забыли Total.js?



      Эта публикация для ознакомительных целей, так как хочется поддержать фреймворк, который по моему мнению недооценен в СНГ и нуждается во внимании. Первое что я пытался выяснить насколько он производителен по сравнению с основными конкурентами koa.js, express.js и т.п. Прочитав некоторые статьи и форумы стало выясняться, что total быстрее и это трудно отрицать сделав подобные тесты.



      image

      Total.js стал целой платформой к тому же бесплатной и теперь воспользовавшись этими инструментами запустить своё приложение станет ещё проще и быстрее.

      Расскажу о основном стеке, которым и сам пользуюсь.
      Читать дальше →
    • Flutter — новый взгляд на кроссплатформенную разработку

        В августе 2018 года Flutter стал самой запрашиваемой кроссплатформенной технологией на Stack Overflow.


        image


        В нашем блоге Артем Зайцев и Евгений Сатуров из студии Surf, сертифицированного агентства Google, расскажут, почему и как так получилось:


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

        Читать дальше →
      • Современная веб-разработка: выбери себе приключение

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


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


          upd — немного дополнил текст до ката.


          Читать дальше →
        • Статический анализ PHP-кода на примере PHPStan, Phan и Psalm



            Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

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

            • Перевод

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

              image

              Недавно Google объявил о прекращении доверия всем SSL-сертификатам, выданным до 1 декабря 2017 г. удостоверяющими центрами Symantec, Thawte, GeoTrust и RapidSSL. Изменения вступят в силу 16 октября этого года с выходом нового юбилейного браузера Google Chrome 70.
              Читать дальше →
            • Принципы SOLID, о которых должен знать каждый разработчик

              • Перевод
              Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.



              Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
              Читать дальше →
            • Как организовать долгосрочное архивное хранение электронных документов

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

                Настоящая статья более подробно раскрывает еще один подход к долгосрочному архивному хранению (ДАХ) – формирование усовершенствованной электронной подписи (УЭП), а именно ЭП в архивных форматах CAdES-A и XAdES-A.


                Читать дальше →
              • Code of Conduct: почему разработчики ядра Linux угрожали удалить свой код — разбираемся в конфликте

                  В сентябре совет директоров Linux Foundation принял новый кодекс поведения для разработчиков ядра Linux — Code of Conduct (CoC). По задумке авторов, он должен был решить проблемы, связанные с дискриминацией, и улучшить эмоциональную обстановку среди разработчиков.

                  Некоторые программисты назвали это попыткой излишнего регулирования и начали угрожать удалить написанный ими код из ядра Linux. Подробнее о ситуации — далее.

                  Читать дальше →
                • Краткий экскурс по основным моментам Zend Framework

                  Это просто фреймворк, или этот фреймворк олицетворяет собой гордость PHP-сообщества — его трудолюбивых разработчиков, так сказать, ключевой ингредиент? С россыпью конфигов… Предмет любви нашего ЯП, обладающий хорошим MVC, благодаря чему Zend Framework — самый лучший фреймворк на PHP.


                  Здесь вы не найдёте ответа на этот вопрос, зато узнаете про ServiceManager и ModuleManager.


                  Бегите, глупцы!

                  Читать дальше →
                • Титаны от математики схлестнулись над эпичным доказательством abc-гипотезы

                  • Перевод

                  Два математика утверждают, что нашли дыру в самом сердце доказательства, вот уже шесть лет сотрясающего математическое сообщество




                  В отчёте, опубликованном в сентябре 2018 в интернете, Петер Шольце из Боннского университета и Якоб Стикс из Университета имени Гёте во Франкфурте описали то, что Стикс называет «серьёзным и невосполнимым разрывом» в огромной серии объёмных работ Синъити Мотидзуки, знаменитого гениального математика из Киотского университета. Опубликованные в интернете в 2012 году работы Мотидзуки якобы доказывают abc-гипотезу, одну из наиболее далеко идущих задач в теории чисел.
                  Читать дальше →
                • [Bug bounty | mail.ru] Доступ к админ панели партнерского сайта и раскрытие данных 2 млн пользователей



                    Относительно недавно я перешёл от поиска уязвимостей на случайных сайтах к Bug Bounty площадкам, и для многих такой выбор кажется очевидным — в таких программах исследователь в 90% случаев получит не только хороший опыт, но и гарантированную награду за валидную уязвимость, в то время как на случайном сайте можно наткнуться на непонимание и угрозы. Собственно, для того, чтобы получить репутацию и «ускорение» на крупнейшей Bug Bounty — HackerOne, было принято решение сосредоточиться на поиске уязвимостей на одной из крупных bugbounty программ — mail.ru.

                    В этой статье будет идти речь о нескольких багах на самом mail.ru, а так же об уязвимости на одном из поддоменов mail.ru, которая позволяла получить доступ к админ панели, в связи с чем возможно было просматривать личные данные 2 миллионов пользователей (такие как email адреса, номера телефонов, домашний адрес и др) с более чем 10 популярных интернет магазинов СНГ, а так же входить в их аккаунты без пароля.
                    Читать дальше →
                    • +48
                    • 13,9k
                    • 9
                  • БДСМ, Гор и преследование разработчика Drupal

                      Прошу прощения за желтый заголовок, но в данном случае он действительно отражает суть дела. Год назад в сообществе разработчиков Drupal произошел вопиющий случай, который на Хабра и даже в Рунете прошел несколько незамеченным. В контексте недавних волнений вокруг Линуса и Linux, имеет смысл вспомнить о тех событиях.


                      Обложка 23-й книги — «Renegades of Gor» саги «Хроники Гора».
                      Страсти по Гору


                      Однажды в конце февраля Dries Buytaert — основатель CMS Drupal, попросил одного из самых активных разработчиков Ларри Гарфилда (Larry Garfield) покинуть проект. Есть все основания полагать, что решение было вызвано ценностными расхождениями великодушного диктатора проекта с Ларри. В чем же суть этого расхождения и причем здесь Гор?

                      Читать дальше →
                    • Муравейник или крепость? Строю дом по цене квартиры. 1 часть

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

                        Когда вопрос собственного жилья у меня стал основательным, а съем квартиры стал нерентабельным, я пришел, как и многие, к выбору: во что вкладываться — в дом или в квартиру?
                        Стоимость квартир даже в Подмосковье за пару комнат начинается от трех миллионов. Без отделки и со всеми сопутствующими проблемами. Посчитав, я пришел к выводу, что за те же деньги можно построить дом в Подмосковье с такой же транспортной доступностью и близкой инфраструктурой.
                        Для ленивых я расскажу все в ролике, а для любителей букв я подготовил текст с картинками.


                        Читать дальше →
                      • Считаем статистику по экспериментам на hh.ru

                          Всем привет!

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

                          О том, как считаются автоматические метрики по А/Б-экспериментам, можно почитать в нашей другой статье.

                          image
                          Читать дальше →
                        • Дома ФИАС в среде PostgreSQL

                            Предыдущая статья с описанием адресов ФИАС и функций для работы с ними в среде PostgreSQL вызвала интерес у небольшой части читателей.

                            Поэтому имеет смысл описать аналогичные функции на языке PL/pgSQL для работы со списком домов ФИАС, загруженным в базу данных под управлением PostgreSQL.


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

                              Наш опыт использования вычислительного кластера из 480 GPU AMD RX 480 при решении математических задач. В качестве задачи мы взяли доказательство теоремы из статьи профессора Чуднова А.М. “Циклические разложения множеств, разделяющие орграфы и циклические классы игр с гарантированным выигрышем“. Задача заключается в поиске минимального числа участников одной коалиции в коалиционных играх Ним-типа, гарантирующее выигрыш одной из сторон.


                              Читать дальше →
                            • Что происходит при создании контейнера Flexbox?

                              • Перевод

                              Это перевод статьи Rachel Andrew, являющейся одним из разработчиков спецификаций CSS.


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


                              В этой статье мы подробно рассмотрим, что на самом деле происходит при добавлении display: flex в вашу таблицу стилей.

                              Читать дальше →