Pull to refresh

Technotext

AccessUSB: «флешка всевластия» для телевизоров LG

Reading time7 min
Views53K

Многие современные телевизоры имеют скрытые сервисные меню, через которые можно посмотреть и изменить различные параметры, недоступные в обычном пользовательском меню. В телевизорах LG есть 2 основных сервисных меню - InStart и EzAdjust, которые можно вызвать посылкой "секретных" ИК кодов, отсутствующих на обычном пульте. Подробности о том, как открыть эти меню, легко найти в интернете, не буду на этом останавливаться, один из вариантов - в этой статье. К сожалению, многие интересные опции в сервисных меню были недоступны для изменения.

В меню InStart меня заинтересовала строка Access USB Status. Гугление не давало никакой информации о том, что это за Access USB, но интуиция подсказывала, что это что-то интересное.

Читать далее

Как использовать GraphHopper для построения пешеходных маршрутов по собственным правилам

Reading time5 min
Views8.9K

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

Решений, для построения маршрута тоже немало, в том числе существует GraphHopper, который умеет строить маршруты, и для автомобилей, и для пешеходов, и даже для пешего туризма, - подойдёт в 99% случаев.

Далее речь пойдёт том, что делать в оставшемся 1% ситуаций, точнее о моём опыте использования GraphHopper, когда существующее решение не подходило. Требовалось учитывать дополнительные ограничения: строить пешеходные маршруты для людей с ограниченными возможностями. Не будет ни каких значимых особенностей реализации именно этой задачи. Максимально обобщённо.

Будет описано, как создать на основе библиотеки GraphHopper свой веб–сервис, который, по координатам начала и окончания пути, вернёт массив координат маршрута.

Пример приложения, со всеми необходимыми для запуска заглушками, можно найти в моём репозитории на GitHub.

Читать далее

Как просканировать сетевой периметр сервиса с помощью open source-инструментов

Reading time16 min
Views37K

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

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

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

Чек-лист для оценки защищенности вашей сети — под катом.
Читать дальше →

Тест на выбывание: выбираем лучшие из девяти новых GPU

Reading time6 min
Views21K

Весной 2021 года NVIDIA представила новую линейку видеокарт RTX Ax000 и Ax0 на архитектуре Ampere, с тензорными ядрами третьего поколения. На тот момент в Selectel уже можно было арендовать выделенные и облачные серверы с GPU Tesla M60, T4, V100 и даже топовыми NVIDIA A100.

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

Как организовать техническую поддержку в 130 городах мира для 4000 сотрудников. Опыт Playrix

Reading time7 min
Views5.8K

Мы в Playrix с 2015 года перешли на систему, когда сотрудники могут сами выбирать, где им удобнее работать — в офисе или удаленно. Когда в прошлом году на дистанционную работу перешли все, уже имеющийся успешный опыт работы с удаленными сотрудниками стал для нас огромным преимуществом. 

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

Читать далее

Динамические ИБП в дата-центрах: как мы устанавливали Piller CPM300 с двойным преобразованием

Reading time8 min
Views10K
Внутри такой штуки крутится маховик

Уверен, что читатели Хабра представляют, почему лидеры рынка дата-центров столько внимания уделяют бесперебойной подаче электропитания к серверным. Критичен даже секундный сбой, поэтому обычно с резервированием электроэнергии у ЦОД все строго, а провайдеры ищут более эффективные решения.

Для Selectel таким решением стали динамические источники бесперебойного питания Piller CPM300. В этой статье я расскажу вам, как мы запустили в работу новые для рынка ИБП, с какими трудностями столкнулись и почему вообще решили изменить подход к резервированию IT-нагрузок.
Читать дальше →

Игра в «Было/ не было»: как делать бэкапы, чтобы не стать грустным админом

Reading time7 min
Views11K

«Когда-то я был админом, который не делал бэкапы. Теперь я очень грустный, но бэкапы делаю», — цитата одного сисадмина.

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

Предлагаем в честь праздника сыграть в игру «Было/ не было». Мы опишем частые косяки и лучшие практики при работе с бэкапами, а вы поделитесь в комментариях, что из этого было или не было в вашей карьере.

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

Что такое ECS и с чем его компилят

Reading time27 min
Views33K

Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев в России и мире в целом, о современных трендах и новостях индустрии. 

Меня зовут Андрей Боронников, и я работаю в команде экспериментальных проектов студии IT Territory, где занимаюсь разработкой игровых прототипов. Как-то раз в процессе поиска новых подходов к быстрой разработке прототипов мы вспомнили о таком замечательном подходе, как Entity Component System. О нем уже многое было раньше сказано, но мало что показано. 

О чем сегодня пойдет речь?

Для начала мы поговорим, куда в общем и целом движется Unity и зачем им Data Orientation System. Рассмотрим принцип работы ECS, зачем он нужен, кто вообще его использует и наиболее популярные реализации — и, конечно же, примеры практического применения ECS в играх.

Читать далее

Тонкости настройки через веб экранов статуса заказа

Reading time13 min
Views4K

Наша команда разработки начала работать с телевизорами два года назад. И в тот момент казалось, что эта тема не может быть кому-то интересна, так как больше похожа на пляски с бубном, чем на нормальную работу разработчика. Но недавно в телеграм-чате нас спросили, как работают наши экраны статуса заказа, и сказали, что об этом будет интересно почитать на Хабре. Так появилась эта статья и развёрнутый ответ.

Читать далее

Домашний DPI, или как бороться с провайдером его же методами

Reading time16 min
Views305K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!

Бессчётное количество персонажей для игры? О том, как я сделал это через процедурную генерацию

Reading time7 min
Views7.6K
Игра, которую мы разрабатываем, подразумевает огромное количество персонажей. Главный герой будет постоянно сталкиваться с ними и чтобы игроку не наскучили одинаковые лица, мы придумали как их генерировать из частей.

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



А прежде чем я расскажу всё, попробуйте этот генератор в действии. Мы выложили его web версию тут: galaxypassstation.com/character-creator (для ПК и Планшетов)
Читать дальше →

Вы пользуетесь уязвимым софтом, но я вам не могу об этом рассказать

Reading time10 min
Views38K

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

Хотите узнать, какие именно уязвимости я нашёл? Но я не смогу вам об этом рассказать, даже если захочу. Без согласия вендора публично говорить о найденных уязвимостях мне не позволяет закон.

Читать далее

В поисках полезного турнира scrum-команд

Reading time8 min
Views1.4K

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

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

Но одного Scrum недостаточно для стабильной работы: нужны инструменты поощрения сотрудников. И тут тоже было всё по-классике: периодическая аттестация сотрудников, которая позволяла увеличивать персональный оклад, и премии, которыми награждались уже команды за успешное закрытие эпиков. Но было и местное ноу-хау ‒ турнир команд. Его целью было поощрение поведения команд, которое обеспечивает успех бизнесу.

Читать далее

CSS-in-JS в Angular или все-таки CSS?

Reading time7 min
Views6.3K

Всем привет! Меня зовут Всеволод Золотов, я Senior Frontend в компании Bimeister.

CSS-in-JS очень быстро набрал популярность в React-комьюнити, но насколько актуален этот подход в Angular? В данной статье сравним удобство разработки и производительность двух визуально идентичных приложений (time-tracker), написанных с использованием SASS и @emotion/css.

Читать далее

Et tu, Brute? Что хотят от нас брутфорсеры?

Reading time16 min
Views19K

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

Поверхностный ответ, конечно, прост: наживы на бесплатных вычислительных ресурсах и полученных чувствительных данных. Но этот ответ недостаточно подробный. Давайте разложим виртуальные «приманки» и проследим, что происходит, когда автоматический брутфорс оказывается успешным.
Читать дальше →

ВанГеры как история Open Source сообщества

Reading time6 min
Views20K

Здравствуйте, меня зовут Дмитрий Лейкин и я вангер.

ВанГеры - российская игра 1998 года студии KD-Lab. Она имеет статус "культовой". Это необычная игра, которую до сих пор не могут классифицировать под определенный жанр. В последние годы она регулярно генерирует инфоповоды, в том числе на полях Хабра. Я хочу рассказать, как так вышло.

Читать далее

Применение автотестов в ежедневных релизах. Установка Cypress и Allure

Reading time4 min
Views7.5K

Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим технические вопросы: как установить фреймворк, прикрутить хуки в slack для автоматизации и использовать «на поток».  

Для начала уточню: чтобы уверенно применять Cypress, необходимо владеть азами npm-node package manager, а также знать синтаксис jasmine и иметь общее понимание о JavaScript. В этой статье я грубо  обозначу основные шаги для установки среды, написания тестов и настройки отправки отчетов по их исполнению в канал slack.

Читать далее

Согласование импедансов: как сломать и как починить

Reading time8 min
Views40K

Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)

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

Согласовать импедансы

Загадочные субтитры на CNN

Reading time3 min
Views50K
Зрители CNN обратили внимание, что в выпуске новостей 12/11/2020 на их официальном YouTube-канале вместо субтитров какая-то каша из обрывков английских слов, сплошным капсом:


Как такое могло получиться? (По состоянию на 1/12/2020, субтитры на YouTube так и не исправлены.)

Stenotype


Американские стенографисты уже больше сотни лет как используют специальные устройства с минимальной 22-клавишной клавиатурой — по две клавиши под каждый палец, чтобы минимизировать движения кистей:



Сто лет назад стенотайп был вариантом печатной машинки, и каждая клавиша оставляла оттиск на бумаге. Каретки не было: после каждого «аккорда» из одной или нескольких одновременно нажатых клавиш, бумага проматывалась на одну строчку вниз. Оттиск каждой литеры приходился всегда на одно и то же место в строке. Клавиши P, R, S, T присутствуют в двух экземплярах каждая — под левой и под правой рукой.

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

Властелин структур

Reading time15 min
Views11K

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

Читать далее