• Как я чуть не подхватил вирус, пытаясь продать сапоги



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

      Размышляя о судьбе ненужных вещей, я прикидывал, что с ними делать: выкинуть, порезать на тряпки, отдать донашивать младшему брату? Но для одной вещи ни один из этих способов не годился: то были кожаные сапоги 44 размера приличного вида, но порядком мне надоевшие. Их я решил продать на Avito. Загрузил фотографии, указал ненастоящее имя (информационная безопасность же), выставил сапоги, пару других вещей и пошёл спать. Откуда мне было знать, что это обернётся длительным анализом приложения на предмет скрытых угроз?
      Читать дальше →
      • +42
      • 5,9k
      • 9
    • ENOG 15: «Почему Интернет до сих пор онлайн?»

        Здравствуй, Хабр! Это — одновременно транскрипция и частичный перевод часовой сессии под названием «Почему Интернет до сих пор онлайн?» с пятнадцатой встречи «Евразийской группы сетевых операторов».

        Qrator Labs благодарит всех участников обсуждения: Алексея Семеняку, RIPE NCC; Игнаса Багдонаса, Equinix; Мартина Дж. Леви, Cloudflare; Александра Азимова, Qrator Labs и модератора Алексея Учакина из команды подкаста LinkmeUp за разрешение опубликовать данный текст.

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

          Приветствую всех снова. В комментариях к моей первой статье про cамодельную лазерную установку снова вспомнили статью из журнала «Юный техник», которая называлась «Строим лазер». В ней предложено поэтапное описание сборки импульсного лазера, работающего на жидком растворе органического красителя. Текст статьи доступен через 2 минуты гугления.

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

          image
          Читать дальше →
        • Оцениваем процессы в команде разработки на основе объективных данных

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

            Сергей Семёнов считает, что это происходит в основном по двум причинам.

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

            И предлагает подход к оценке и контролю процессов на основе объективных данных.

            Ниже видео и текстовая версия доклада Сергея, который по результатам зрительского голосования занял второе место на Saint TeamLead Conf.
            Читать дальше →
          • Конференция Velocity London от O'Reilly: обзор и слайды


              Velocity — это конференция, которая посвящена распределённым системам. Её организует издательство O'Reilly, и она проходит трижды в год: один раз в Калифорнии, один раз в Нью-Йорке и один раз в Европе (причём город меняется каждый год).


              В 2018 году конференция была в Лондоне с 30 октября по 2 ноября. Главный офис Badoo находится там же, так что у нас с коллегами было сразу два повода съездить на Velocity.


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


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

              Читать дальше →
            • Давайте уберём кватернионы из всех 3D-движков

              • Перевод
              image

              Для записи трёхмерных поворотов программисты графики используют кватернионы. Однако в кватернионах сложно разобраться, потому что изучают их поверхностно. Мы просто принимаем на веру странные таблицы умножения и другие загадочные определения, и используем их как «чёрные ящики», поворачивающие векторы так, как нам нужно. Почему $\mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=-1$ и $\mathbf{i} \mathbf{j} = \mathbf{k}$? Почему мы берём вектор и превращаем его в «мнимый» вектор, чтобы преобразовать его, например $\mathbf{q} (x\mathbf{i} + y\mathbf{j} + z \mathbf{k}) \mathbf{q}^{*}$? Да кому это интересно, если всё работает, правда?

              Существует способ описания поворотов под названием ротор, который относится к области и комплексных чисел (в 2D), и кватернионов (в 3D), и даже обобщается до любого количества измерений.

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

              Кроме того, для визуализации и понимания трёхмерных роторов не нужно использовать четвёртое пространственное измерение.

              Было бы здорово, если бы начали вытеснять использование и изучение кватернионов, заменяя их роторами. Заменить их очень просто, а код останется почти таким же. Всё, что можно делать с кватернионами, например, интерполяцию и устранение блокировки осей (Gimbal lock), можно сделать и с роторами. Но понимать мы начинаем гораздо больше.
              Читать дальше →
            • Орден куколки

                Прошу считать пятничным постом! Это как бы научная фантастика, но

                правда важный дисклеймер
                1. Научная фантастика понятие очень широкое. Этот рассказ-эссе я смею предложить только тем, кто нормально относится к углу {Лем, Кларк, Воннегут, Пелевин, Лэнгфорд...}. Простите меня, если в вашем представлении научная фантастика это что-то совсем иное, и я зря вторгся в вашу ленту.

                2. Позиция автора может не совпадать с убеждениями лирического героя.



                1. Марсианские каналы


                Я даже не могу вспомнить, о чем думал, когда ввязывался во все это. Как именно представлял себе?

                Неужели действительно был так наивен, что в голове гуляло:
                — Ваш платеж подтвержден, и вот вам ваша таблетка. Глотаете ее, и отныне…

                Столетия, тысячелетия, миллионы лет — твои.

                Пусть не таблетка, пусть инъекция, или неделя изматывающих процедур в стационаре, какая разница? Важно лишь, чтобы был миллион, оплатить это. Ну, десять. Да хоть сто! Зато уж если хватило — дело сделано.

                Неужели я и правда представлял себе это так?
                А если без поддавков?
              • Компьютерные игры занимают важное место в нашей жизни. Многие предаются этому развлечению, кто-то любит раскинуть пасьянсик или напрячь мозги в «Судоку», а кто-то с упоением скачет с автоматом/бластером/ракетницей наперевес, ходит в рейд на боссов или руководит огромными армиями во всех трёх средах. Сегодня объем мирового рынка игр оценивается более чем в $100 млрд — для сравнения, мировой космический рынок оценивается примерно в $250 млрд.
                Много видео под катом
              • Вечером 8 ноября в конгресс-холле МШУ СКОЛКОВО прошла церемония вручения премии HighLoad++ — первой за всю долгую историю конференции, то есть с 2007 года. Награду за вклад в развитие экосистемы интернет-разработки в России получили шесть человек — шесть несущих элементов российского хайлоада. Комбинированные решения — норма для хайлоада, так что свой репортаж о церемонии мы дополнили комментариями, которые взяли у победителей.
                Подробности — под катом
              • Учёные смущённо признают, что до сих пор не знают точной величины гравитационного взаимодействия

                • Перевод

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

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

                Но чтобы превратить пропорции в уравнения, нужно подобрать одну константу.
                Читать дальше →
              • Корпоративный чатик

                  — Друзья! Вы перелезли через стену, и стали командой мечты! – восторженно говорил Евгений Викторович. – Отныне вы никогда не будете работать так, как раньше! Только вместе, плечом к плечу, невзирая на трудности и невзгоды!

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

                  — Но стена – это только начало! – продолжал собственник. – Ведь нам нужна не только большая, дружная команда, но и хорошие, теплые, искренние отношения между всеми вами. Мы не можем пускать на самотек личные отношения, поэтому – прошу!
                  Читать дальше →
                • Как авиакатастрофа может улучшить разбор факапов в ИТ

                    Вечером 16 августа 1987 года из аэропорта Детройта вылетел рейс 255 компании Northwest Airlines. Он разбился спустя минуту, и в катастрофе погибли 156 человек. Вроде бы очевидная ошибка пилотов привела к исследованиям с участием NASA, изменениям конструкции самолетов и полетных процедур. А еще эта история имеет отношение к управлению качеством, управлению проектами и к вопросу вины и наказания не только сборщиков потерпевшего аварию «Союза МС-10», но и людей, совершивших ошибки на вашей работе.


                    Фото с места аварии из Бюро архивов авиационных инцидентов
                    Читать дальше →
                  • Триумф и трагедия «Бурана»



                      Ровно 30 лет назад с космодрома Байконур на ракете-носителе «Энергия» в свой единственный полёт отправился корабль «Буран». В полностью автоматическом режиме он совершил 2 витка вокруг Земли и успешно приземлился спустя 205 минут. Это стало несомненным триумфом советской космонавтики, впервые в мире сумевшей посадить многоразовый космоплан в автоматическом режиме на землю.

                      Но спустя всего год работы по проекту были приостановлены, а в 1993 году — и вовсе прекращены. В 2002 году единственный летавший в космос «Буран» был навсегда погребён под обломками цеха в котором хранился. Об предпосылках к появлению проекта «Энергия-Буран», его ходе и печальном завершении, пойдёт сегодня речь.
                      Читать дальше →
                    • Ugears: скакуны, парусники и прочие королевские развлечения



                        Прошлой весной украинский стартап Ugears провел пятую краудфандинговую кампанию по сбору средств на коллекцию деревянных конструкторов. Очередная кампания, очередная коллекция — кажется, это уже не новость, но дизайнеры умудряются каждый раз придумать что-то новенькое. Например, механического заводного коня, переступающего с ноги на ногу, или парусник с гордо реющим флагом.
                        Читать дальше →
                      • Несертифицированный GPS-трекер из Китая. Законно ли в России?

                        Иностранные интернет-магазины завалены разнообразными устройствами, оснащёнными GPS, GSM-модулями, позволяющими отслеживать местоположение наблюдаемого объекта и управлять устройством посредством SMS и мобильных приложений. И, конечно же, большинство из них не сертифицированы и запрещены для ввоза/использования в России. Простой обыватель, услышав слова «несертифицированный» и «GPS» в одном предложении, скажет: «Это незаконно по статье 138.1 УК РФ!», и будет прав. А может и нет. Во всём этом я попытался разобраться и сконсолидировать в этой статье.

                        Читать дальше →
                      • HighLoad++: презентации от докладчиков Авито, конспекты, фото и впечатления

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


                          Читать дальше →
                        • Атака на Github Pages с перехватом сайта на вашем домене


                            Большинство разработчиков знают и любят github pages. На случай, если вы не встречались с ними — этот сервис даёт возможность создать статический сайт из вашего репозитория, который будет доступен на домене smth.github.io. Это безумно удобно для всякой временной статики, документации, небольших простых сайтов и так далее. Не приходится думать о каком-то дополнительном веб сервере.


                            Так же там есть возможность привязать к репозиторию свой домен — тогда всё будет совсем красиво. Даже поддержка SSL есть.


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

                            Читать дальше →
                          • Стековая машина на моноидах

                            • Tutorial

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


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


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

                            Читать дальше →
                            • +44
                            • 5,4k
                            • 9
                          • Крупнейшая курьерская компания из Китая начинает использовать беспилотные «кукурузники» для перевозки грузов



                              Дроны, беспилотные летательные аппараты — перспективное транспортное средство для курьерских компаний. Беспилотники могут быть очень разными, и китайская компания SF Express доказала это, начав эксплуатацию аппаратов Feihong 98. Они разработаны на базе многоцелевого биплана Y-5B, который, в свою очередь, создан на основе советского Ан-2, то есть «кукурузника».

                              Пока что бипланы такого рода работают лишь в качестве тестовых транспортников. Если пилотные проекты покажут себя хорошо, их введут в массовую эксплуатацию, хотя и не раньше 2023 года.
                              Читать дальше →
                            • Безумие и успех кода Oracle Database

                                На этой неделе пользователи Hacker News решили обсудить вопрос «Каков максимальный объем плохого — но при этом работающего — кода вам доводилось видеть?» (позже к ним присоединились и пользователи Reddit). В комментариях было рассказано немало «веселых» историй про то, с чем мы все время от времени сталкиваемся; но больше всего внимания привлек рассказ про код «передовой СУБД, которую используют большинство компаний, входящих в список Fortune 100».

                                Победителем в номинации «лавкрафтовские ужасы» заслуженно стал рассказ бывшего разработчика Oracle, который работал над Oracle Database в период разработки версии 12.2. Объем кодовой базы СУБД на тот момент составлял 25 миллионов строк на языке C — и стоило вам изменить лишь одну из этих строк, как ломались тысячи написанных ранее тестов.

                                За прошедшие годы над кодом успело потрудиться несколько поколений программистов, которых регулярно преследовали жесткие дедлайны — и благодаря этому код смог превратиться в настоящий кошмар. Сегодня он состоит из сложных «кусков» кода, отвечающих за логику, управление памятью, переключение контекстов и многое другое; они связаны друг с другом при помощи тысяч различных флагов. Весь код связан между собой загадочным макросом, который невозможно расшифровать, не прибегая к помощи тетради, в которую приходится записывать, чем занимаются релевантные части макроса. В итоге, у разработчика может уйти день или два только на то, чтобы разобраться, чем же в действительности занимается макрос.
                                Читать дальше →

                              Самое читаемое