Как стать автором
Обновить
21
0
Павел Кузнецов @kpd200081

Пользователь

Отправить сообщение

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Время на прочтение12 мин
Количество просмотров142K

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


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Всего голосов 88: ↑86 и ↓2+108
Комментарии67

О том, что происходит, когда в поиске Google используют слово «vs»

Время на прочтение7 мин
Количество просмотров20K
Случалось у вас такое: ищете что-нибудь в Google и вводите после искомого слова «vs», надеясь на то, что поисковик автоматически предложит вам что-то, немного похожее на то, что вам нужно?


Ввод «vs» после искомого слова

Со мной такое бывало.

Как оказалось, это — большое дело. Это — приём, который, при поиске альтернативы чему-либо, способен сэкономить массу времени.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+51
Комментарии15

Что такое Zynq? Краткий обзор

Время на прочтение16 мин
Количество просмотров49K
В далеком 2011 году компания Xilinx представила свои первые микросхемы SoC (System On Chip) — Zynq-7000. SoC Zynq сочетает в себе программируемую логику, процессорный модуль и некоторую периферию. Статья не является максимально полным описанием SoC Zynq, а лишь отражает те или иные характеристики, с которыми пришлось столкнуться при разработке устройств на базе SoC Zynq.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии18

Как клеить по 13 девушек в час, используя машинное обучение и Tinder

Время на прочтение7 мин
Количество просмотров152K
*Исключительно ради изучения Machine Learning, разумеется. Под немного недовольным взглядом любимой жены.

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

Я решил, что это неплохой способ немного пощупать машинное обучение на новой видеокарте. Останется только объяснить жене, что мне не нужна новая женщина потолще, а я просто тренирую нейросети.


Читать дальше →
Всего голосов 110: ↑102 и ↓8+136
Комментарии139

Собираем логи с Loki

Время на прочтение13 мин
Количество просмотров136K


Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.


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

Всего голосов 44: ↑44 и ↓0+44
Комментарии16

Умная одежда: устройство модуляции температуры на основе графена

Время на прочтение10 мин
Количество просмотров3.8K


У природы нет плохой погоды, как поется в знаменитой песне из кинофильма «Служебный роман». Однако далеко не все готовы согласиться с этим утверждением. Кому-то нравится холод, кто-то предпочитает жару, кому-то все равно. Я же отношусь к тем людям, которые будут жаловаться и на жару, и на холод, нам подавай комфортные +20 °C. К сожалению, не всегда и не у всех любителей нейтрального климата есть возможность жить в регионах, где он есть. Сейчас лето в самом разгаре, удушающая жара лишь изредка прерывается кратковременными грозами, которые не особо помогают. Если природа не готова идти нам навстречу, значит стоит делать что-то самим. Сегодня мы познакомимся с исследованием, в котором ученые из Манчестерского университета (Великобритания) разработали умную адаптивную ткань, способную снижать температуру тела человека ее носящего в жаркие дни. Что легло в основу умной ткани, как протекал процесс разработки, и какие дополнительные свойства и варианты применения имеются у этого изобретения? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Всего голосов 12: ↑10 и ↓2+12
Комментарии1

Как x86_x64 адресует память

Время на прочтение8 мин
Количество просмотров25K
Сегодня я собираюсь поговорить про адресацию памяти: один, казалось бы, небольшой, и тем не менее удивительно непростой элемент семантики команд архитектуры х86_64. В особенности хочется поговорить про команду mov и то, как через только одну эту команду х86_64 пользователю становятся доступны различные методы адресации памяти.

Я не буду говорить про остальные затрагивающие память команды (то есть, благодаря CISC, почти все остальные), команды которые пишут массивные фрагменты памяти (это о тебе, fxsave), или иные касающиеся темы вопросы (модели кода, независящий от адреса код, и бинарная релокация). Я также не буду затрагивать исторические режимы адресации или режимы, которые активны при работе процессора x86_64 не в 64-битном режиме (т.е. любые отличные от long mode с 64-битным кодом).

Некоторые ограничения


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

Начнем с хорошего:

  • На достаточно высоком уровне в архитектуре х86_64 есть всего два режима адресации.
  • Все регистры в обоих режимах адресации должны быть строго одинакового размера. Другими словами, мы не можем странным образом смешивать 64, 32 и 16-битные регистры и получать актуальный адрес — в кодировании х86_64 для подобного маневра попросту нет места.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии117

Boston Dynamics: магия или имитация?

Время на прочтение25 мин
Количество просмотров57K

Ссылка на первоисточник — здесь больше порядка с оформлением, особенно, для видеороликов.


Содержание



Магия — это могия. Кто могёт, тот и Маг!
Александр Шевцов
Магия и культура в науке управления


Введение


Рассуждая о роботах, не упомянуть такое «наше всё» в робототехнике как компания Boston Dynamics — это ведь как-то… непрофессионально, да? Но и говорить о ней профессионально уже не так-то просто (а в двух словах точно не получится), в силу приобретённой компанией широкой известности и рождённых этой известностью стереотипов, сложившихся в среде неспециалистов, в частности, неанглоязычных. И всё же, будем вести речь именно с профессиональной точки зрения, по возможности, минимально отвлекаясь на шумиху и домыслы. Ну… разве что несколько слов о стереотипах… а дальше — только профессионально!


Сразу предупреждаю: под катом очень много букв. Будьте осторожны, чтобы не завалило!

Читать дальше →
Всего голосов 101: ↑79 и ↓22+83
Комментарии513

Web Sip клиент на основе JsSIP + FreePBX

Время на прочтение5 мин
Количество просмотров20K
У FreePBX есть Web Sip клиент. Мне было интересно как он работает. Начав изучать технологию WebRTC я наткнулся на 3 библиотеки — это JsSIP, его fork SIP.js, а также sipml5.

JsSIP и SIP.js не удалось запустить с первого раза, не хватало опыта. А вот sipml5 оказался самым простым в применении. Скачав его тестовую версию, получилось совершить первый звонок.

Все 3 библиотеки работоспособны. У каждой есть свои сильные и слабые стороны. Протестировав все 3 библиотеки, остановил выбор на JsSIP.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Быстрый роутинг и NAT в Linux

Время на прочтение6 мин
Количество просмотров50K
По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии33

Немного об алгоритмах и протоколах безопасной и надежной коммуникации группы пользователей

Время на прочтение10 мин
Количество просмотров2.7K
image

Безопасный обмен мгновенными сообщениями используется в двух вариантах: личное общение и групповое общение. В то время как первый вариант получил большое внимание в последнее время, мало что известно о криптографических механизмах и гарантиях безопасности группового общения в режиме реального времени.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

От эвристик до машинного обучения: история саджеста в Яндекс.Браузере

Время на прочтение7 мин
Количество просмотров11K


Давненько я ничего не рассказывал о Яндекс.Браузере и Chromium, а ведь интерес к этой теме на Хабре был нешуточный. Пора исправляться. Сегодня хочу поднять тему подсказок, которые мы видим под адресной строкой по мере вводе текста (этот блок ещё называют саджестом). Об этом почти никто не задумывается, но их работа исторически основана на ручных эвристиках и константах. Недавно с помощью коллег из поиска Яндекса нам удалось применить ML-ранжирование к этим подсказкам. Получилось не с первого раза, но результат того стоил.

Для лучшего погружения в контекст начнём с истории. Помните ли вы первый браузер в мире? Тот самый, который создал Тим Бернерс-Ли. Честно говоря, и я не помню, но хорошие люди сделали веб-версию для любопытных. Этот браузер умел отображать текст… и всё. Даже картинки на старте не поддерживал. А ещё там не было адресной строки в привычном для нас месте. Сайты открывались через меню, как документы в офисном редакторе. При этом было важно вводить точный адрес желаемой страницы. Забыли про http:// в начале? Получите Bad request. Никакого дружелюбия к пользователям не требовалось, потому что пользователями выступали учёные и технари.

Но затем интернет пришёл в дома «обычных» пользователей. Интерфейсы стали упрощаться: адресная строка поселилась у всех на виду, а рядом с ней добавили ещё одну — для поисковых запросов. Браузеры научились не только подставлять http://, но и подсказывать людям адреса уже посещённых страниц или введённые ранее запросы.

Затем в Chrome адресную строку объединили с поисковой — так родился омнибокс, который умел переваривать как адреса, так и запросы. Причём саджест тоже стал единый. Браузерам пришлось учиться ранжированию подсказок. Поставить на первое место сайт из истории? Или из закладок? Или сходить в облако и предложить окончание запроса? Или оставить WYT (What You Typed) и отправить в поиск?

Читать дальше →
Всего голосов 37: ↑30 и ↓7+34
Комментарии61

Опыт применения технологии Рутокен для регистрации и авторизации пользователей в системе (часть 3)

Время на прочтение2 мин
Количество просмотров1.1K
Добрый день!

В предыдущей части мы успешно создали свой удостоверяющий центр. Чем вообще для наших целей он может быть полезен?

С помощью локального удостоверяющего центра мы можем производить выдачу сертификатов, а также осуществлять проверку подписи по этим сертификатам.
Читать дальше →
Рейтинг0
Комментарии0

Обзор графических интерфейсов для Kubernetes

Время на прочтение11 мин
Количество просмотров70K


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

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
Читать дальше →
Всего голосов 42: ↑41 и ↓1+51
Комментарии28

Самая дорогая ошибка в моей жизни: подробно об атаке на порт SIM-карты

Время на прочтение5 мин
Количество просмотров93K
Привет, Хабр! Представляю вашему вниманию перевод статьи «The Most Expensive Lesson Of My Life: Details of SIM port hack» автора Sean Coonce.

В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», которая вычистила мой счёт на Coinbase. С тех пор прошло четыре дня, и я опустошён. У меня нет аппетита; я не могу заснуть; я наполнен чувствами тревоги, совести и стыда.
Читать дальше →
Всего голосов 81: ↑71 и ↓10+61
Комментарии236

WebFPGA — разработка на Verilog в браузере

Время на прочтение7 мин
Количество просмотров5.6K
Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования электронных систем. Verilog всегда стоял особняком среди языков программирования; позволяя решать задачи, которые не осилить никаким иным образом, он, однако, требует наличия специфической аппаратной платформы, ПЛИС — программируемой логической интегральной схемы. Порог входа в разработку на Verilog относительно высок, но, возможно, скоро он станет чуть ниже, потому что прямо сейчас идёт

Краудфандинговый проект: WebFPGA.
Суть проекта: Отладочная плата для ПЛИС iCE40UP5k. Всё программное обеспечение для разработки и отладки размещено в облаке, взаимодействие с платой происходит в браузере при помощи API WebUSB.
Платформа: Kickstarter.
Автор: Райан Якобс (программист), Мик Якобс (инженер-электронщик).
Локация: Лос-Анджелес, Калифорния, США.


Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии13

Интересные приёмы и хитрости SSH

Время на прочтение6 мин
Количество просмотров7.8K
Несколько советов об эффективном использовании SSH. Поговорим о том, как:

  • использовать двухфакторную аутентификацию для SSH подключений;
  • безопасно использовать «проброс ключа» (agent forwarding);
  • выйти из зависшей SSH сессии;
  • оставить терминал открытым при выходе или разрыве связи;
  • расшарить удаленный терминал с другом (без Zoom’а!).

image
Читать дальше →
Всего голосов 11: ↑5 и ↓6+2
Комментарии5

И еще раз про аппаратные ключи GPG за копейки

Время на прочтение8 мин
Количество просмотров13K

Началось все с того что я почитав статью Аппаратный ключ шифрования за 3$ — возможно ли это? решил запилить такую штуку. В итоге stlink приехал со второго раза. Первый потерялся в недрах почты.


После приезда я выяснил что там стоит чип cks и по второй статье залил прошивку. В системе ключ определился


[612524.102634] usb 4-5: new full-speed USB device number 26 using ohci-pci
[612524.264962] usb 4-5: New USB device found, idVendor=234b, idProduct=0000, bcdDevice= 2.00
[612524.264969] usb 4-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[612524.264973] usb 4-5: Product: Gnuk Token
[612524.264976] usb 4-5: Manufacturer: Free Software Initiative of Japan
[612524.264979] usb 4-5: SerialNumber: FSIJ-1.0.4-9A760301

Но после этого начались проблемы.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии20

Общая теория и археология виртуализации x86

Время на прочтение37 мин
Количество просмотров45K

Введение


Авторский коллектив


Автор: Антон Жбанков (AntonVirtual, «BeerPanda. Органично недоразвитый DevOps»)
Со-авторы: Григорий Прялухин, Евгений Парфенов

Общие понятия виртуализации


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

Наверное, самым близким определением понятия “виртуализация” будет “абстрагирование” из объектно-ориентированного программирования. Или, если переводить на нормальный русский язык — это сокрытие реализации за абстрактным интерфейсом. Что, конечно, все сразу объяснило. Попробуем еще раз, но для тех, кто не изучал программирование.
Виртуализация — сокрытие конкретной реализации за универсальным стандартизованным методом обращения к ресурсам / данным.

Если попробовать применить на практике данное определение, то окажется, что оно вполне работает на совершенно неожиданных предметах. Скажем, часы. Вот были придуманы несколько тысяч лет назад солнечные часы, а в средневековье были придуманы механические. Что же там общего? Солнце и какие-то шестеренки? Бред какой-то. А потом кварцевые генераторы и все остальное.
Суть в том, что мы имеем стандартный интерфейс — стрелочный или цифровой указатель, который в универсальной стандартной форме указывает текущее время. Но имеет ли для нас значение как конкретно реализован этот механизм внутри коробки, если время указывается с достаточной для нас точностью?
— Позвольте, — можете сказать вы, — но я-то думал, что виртуализация про машины, процессоры там, и так далее!
Да, она и про машины, и про процессоры, но это лишь частный случай. Давайте рассмотрим более широко, раз уж статья смело претендует на общую теорию.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии39

Как защитить свой публичный сайт с ESNI

Время на прочтение5 мин
Количество просмотров13K
Привет Хабр, меня зовут Илья, я работаю в платформенной команде компании Exness. Мы разрабатываем и внедряем базовые инфраструктурные компоненты, которые используют наши продуктовые команды разработки.

В этой статье я бы хотел поделиться опытом внедрения технологии encrypted SNI (ESNI) в инфраструктуре публичных веб-сайтов.


Читать дальше →
Всего голосов 8: ↑5 и ↓3+6
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Зарегистрирован
Активность