• Наблюдаемость SRE: пространства имен и структура метрик

    • Translation

    Spyglass by Shorai-san

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

    Это дает ряд преимуществ: просмотр определенных подмножеств данных, определение метрики с точки зрения ее дочерних элементов и установление соотношений между метриками.

    Команда Mail.ru Cloud Solutions перевела статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит. Многие из этих концепций вам знакомы, так как они реализованы в нативных решениях для облачного мониторинга, таких как Prometheus и DogStatsD.
    Читать дальше →
  • Platform Developers Conf by Miro: онлайн-трансляция

      Привет! Если вам не хватило мест на Platform Developers Conference, которая пройдёт в субботу, 9 ноября, не расстраивайтесь: мы организовали веб-трансляцию.

      Конференция посвящена созданию платформ для разработчиков. В качестве спикеров — техлиды и ведущие инженеры из Stripe, Intercom, JetBrains, Miro и других компаний.



      Трансляция начнётся в субботу в 9:00 по московскому времени. Чтобы подключиться, просто зайдите на страницу конференции.
      Читать дальше →
    • Создаем общую кодовую базу


        Из проекта в проект мы замечаем, что наш код, выполняет одни и те же функции и выглядит почти одинаково. Это заставляет задуматься — а не выполняем ли мы лишнюю работу, переписывая одно и то же? Мы начинаем копировать классы из предыдущих проектов и все равно понимаем, что делаем что-то не то и оказываемся правы — просто копируя классы из проекта в проект, мы запросто можем что-то потерять/заменить/затереть, а если еще наша команда ведет несколько проектов одновременно, то обнаружение ошибок в заимствованных классах потребует изменений вручную во всех проектах. Устав наступать на эти грабли, мы решаем, что нужен общий код, который будет расшариваться на все наши проекты и любые изменения в нем будут легко подтягиваться. Да, мы создаем свою библиотеку переиспользуемых компонентов! О разных способах организовать свою библиотеку, о всех плюсах и минусах подходов вы узнаете под катом :)

        Читать дальше →
      • Проекты, которые не взлетели

          Cloud4Y уже рассказывал про интересные проекты, разработанные в СССР. Продолжая тему, вспомним о том, какие ещё проекты имели неплохие перспективы, но по ряду причин не получили широкого признания или вообще были положены под сукно.

          АЗС
          Читать дальше →
        • Как в 1995 году писали игры для Sega Saturn

          • Translation
          Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K.

          Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит справа от меня.


          Состояние игры


          В представленном ниже документе вкратце описывается состояние кода Skeleton Warriors для Sega Saturn, а также упоминаются некоторые из множества аспектов, которые нужно было ещё сделать.

          Документ нужен был, чтобы ускорить Дэну, Кену и Джеймсу знакомство с уже готовым кодом, объяснить им назначение каждого модуля и взаимодействие между ними. Также он позволил мне оценить печальное состояние этого кода, и, надеюсь, заставил меня взяться за ум.

          Также я немного рассказываю о встраивании данных (файлы .GOV и .GOB) в программу, и о том, что мы будем делать в будущем.

          Оборудование для разработки


          Наша целевая платформа — Sega Saturn, имеющая два Risc-микропроцессора SH2 и один 68000. Пока мы используем только основной процессор Master SH2, вспомогательный slave SH2 будет использоваться, когда мы разберёмся, как это сделать. 68000 применяется для управления звуковым чипом, нам не пришлось писать для него код, потому что он будет использовать предоставленную Sega звуковую библиотеку.
          Читать дальше →
          • +37
          • 12.4k
          • 7
        • Авиакатастрофа в Шереметьево: исторические аналогии

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


            Кадр с одной из камер
            Читать дальше →
          • Задержка ввода на ретро-консолях и эмуляторах



              TL;DR В статье описывается известная проблема задержки ввода (input lag), которая проявляется при попытках играть в старые игры на современном железе: эмуляторах ретро-консолей, bluetooth-геймпадах и т.д. Иногда задержки настолько большие, что играть становится невозможно. Я опишу свой путь поиска приемлемой конфигурации для запуска моих любимых игр.

              С волной популярности одноплатных компьютеров RaspberryPi, OrangePi многие знакомые накупили себе их пачками. Не придумав что с ними делать, они начали лепить из них ретро-консоли на базе эмулятора RetroArch и дистрибутива Recallbox. Когда я попробовал поиграть на этом в свои любимые игры детства я был удивлен: "Как я мог в это играть?". Физика игр казалась какой-то неправильной, ощущение отвратительное. Спустя время мне рассказали, что все дело в задержке ввода, которая на первый взгляд не ощущается как задержка, а именно как другая физика.

              Оказалось, что проблема давно известна среди консольных гиков и ее активно исследуют. Я разберу чужие исследования и попытаюсь замерить задержку своего сетапа.
              Читать дальше →
            • Глобальное обновление отображения результатов Lamptest.ru

                Сегодня я рад представить вам полностью переработанную страницу отображения результатов тестирования светодиодных ламп на Lamptest.ru. Динамическое обновление таблицы, умный поиск, всплывающие подсказки, управление столбцами, наглядное отображение типа лампы — это далеко не все изменения.

                Читать дальше →
                • +63
                • 8.4k
                • 7
              • Почти весь умный дом: большая подборка отдельных смарт-элементов: лампы, розетки, климат, экология и безопасность

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



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

                  • Translation
                  • Tutorial
                  Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

                  К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
                  Все это можно представить в виде схемы:


                  Читать дальше →
                • Повышаем отказоустойчивость системы на nodejs

                    Отказоустойчивость системы на nodejs
                    3 года назад я поверил в будущее nodejs и начал кампанию по имплементации этого языка в самые “проблемные” сервисы нашего проекта. У нас все получалось — нагрузка падала, стабильность повышалась. Но все же были грабли, о которых захотелось рассказать.

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

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

                      Итак, начнем. Заранее прошу прощения за большое количество текста и излишнее словоблудие.
                      Читать дальше →
                    • Устанавливаем Android на iPhone 2G

                        Буквально недавно мир порадовало видео о том, что на iPhone удалось установить Android, и вот теперь появилось подробное how-to для этого занимательного процесса.

                        Видео инструкцию лучше смотреть в полноэкранном режиме. Подробная текстовая инструкция также опубликована в сети. Жаль нет у меня iPhone 2G, уже бы попробовал. Инструкцию не перевожу, тем кому она не понятна в оригинале проводить такие опыты противопоказано. Эх. Ну кто первый?
                      • Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

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

                        Быстрое изменение состояния посреди анимации

                        Обычно анимации используются для того, чтобы плавно менять свойства элементов со временем. Однако изменения могут также быть практически мгновенными. Для этого надо задать два ключевых кадра с очень маленьким интервалом, например в 0.001%:

                        @keyframes toggleOpacity {
                          50% { opacity: 1; } /* Turn off */
                          50.001% { opacity: 0.4; }
                        
                          /* Keep off state for a short period */
                        
                          52.999% { opacity: 0.4; } /* Turn back on */
                          53% { opacity: 1; }
                        }
                        

                        Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


                        Читать дальше →
                      • Обзор бесплатных сервисов для веб-разработки

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

                          Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
                          Читать дальше →
                        • 14 инструментов для веб-дизайна и веб-разработки на 2014 год

                          • Translation
                          Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
                          Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.
                          Читать дальше →
                        • Как хвост виляет собакой. Азбука пропаганды

                            Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.

                            Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
                            Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
                            Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
                            — Почему собака виляет хвостом?
                            — Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.

                            Ещё 7 приёмов - под катом
                          • Быль про MeeGo и роботов

                                 С 9 по 11 марта прошла конференция MeeGo 1/Ru, которую проводило сообщество Fruct при поддержке компаний Intel и Nokia. Приятно удивило количество участников даже в третий день мероприятия, хотя чего удивляться – на World Mobile Congress стенд MeeGo был одним из самых популярных.

                              image

                              Читать дальше →
                            • Установка драйверов за 5 минут

                                Дорогие коллеги!


                                Рад представить вам новую версию программы DriverPack Solution 10. Это универсальный менеджер установки драйверов для всех версий Windows, который можно совершенно бесплатно скачать с официального сайта: http://drp.su/

                                В отличие от встроенной в Windows Update функции обновления драйверов этой программой можно пользоваться без наличия Интернета и для установки драйверов не только на устройства популярных вендеров (как в случае с Windows Update).

                                image

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