Pull to refresh
30
Karma
0.1
Rating
Ivan Semenov @vanyas

User

Travel hacking: Покупаем билеты выгодно

Freelance Growth Hacking *Lifehacks for geeks Transport Remote work
Tutorial

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

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

Поехали!
Total votes 15: ↑12 and ↓3 +9
Views 4.2K
Comments 16

5 типичных ошибок при использовании Apache Kafka

Southbridge corporate blog System administration *Apache *DevOps *

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

Читать далее
Total votes 37: ↑36 and ↓1 +35
Views 8K
Comments 0

Про фразовые глаголы-4 (in/out)

Learning languages
Перед этой статьёй рекомендуется прочитать две первые части:
1. habr.com/ru/post/495794
2. habr.com/ru/post/496190

Out соответствует русским приставкам со значениями «наружу» и «до конца, полностью»:

  • вы-: hear – «слушать». Hear me out! – Вы-слушай меня!
  • раз-/«рас-»: sell – «продать» sell out – рас-продать.
  • из- (со значением «до конца, полностью»): wear — «носить», wear out — из-носить/ся (об одежде/обуви, например).
  • из- (со значением «вы-» – наружу): hound – «охотничья собака», как глагол – «гнать» (зверя). Hound out – «из-гнать» (= «вы-гнать»). They hounded him out of Parliament – они из-гнали его из Парламента. Если держать в голове базовые значения глаголов kick (пинать) и boot (пинать ногой в сапоге), становится очевидно, почему ФГ kick out и boot out используются как синонимы hound out. Всегда буквально умоляю студентов держать в голове базовое значение глагола, из которого образуется фразовый. Слушаются не всегда… :(
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Views 12K
Comments 9

Понимание итераторов в Python

Python *
Sandbox

Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for.


Особенности, с которыми вы часто можете столкнуться в повседневной деятельности


1. Использование генератора дважды


>>> numbers = [1,2,3,4,5]

>>> squared_numbers = (number**2 for number in numbers)

>>> list(squared_numbers)
[1, 4, 9, 16, 25]

>>> list(squared_numbers)
[]

Как мы видим в этом примере, использование переменной squared_numbers дважды, дало ожидаемый результат в первом случае, и, для людей незнакомых с Python в достаточной мере, неожиданный результат во втором.


2. Проверка вхождения элемента в генератор


Возьмём всё те же переменные:


>>> numbers = [1,2,3,4,5]
>>> squared_numbers = (number**2 for number in numbers)

А теперь, дважды проверим, входит ли элемент в последовательность:


>>> 4 in squared_numbers
True
>>> 4 in squared_numbers
False
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 95K
Comments 19

Инфраструктура сборки проекта с docker

Programming *Build automation *

На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториала и рассмотреть глубже вопросы использования контейнеров в таких задачах, а так же построения инфраструктуры сборки с docker.

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 20K
Comments 12

Зал славы потребительской электроники: истории лучших гаджетов последних 50 лет, часть 1

Manufacture and development of electronics *Gadgets History of IT Old hardware
Translation


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

Вся эта инфраструктура гаджетов была создана инженерами-электротехниками в течение десятилетий. Некоторые из их примечательных творений мы вспоминаем с удовольствием, но многие уже забыты.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Views 30K
Comments 25

Сети для самых матёрых. Часть пятнадцатая. QoS

System administration *Network technologies *Network standards *
Tutorial
СДСМ-15. Про QoS. Теперь с возможностью Pull Request'ов.

И вот мы дошли до темы QoS.

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

Это не какой-то магический архиватор, который ловко сожмёт трафик на лету и пропихнёт ваш гигабит в стомегабитный аплинк. QoS это про то как пожертвовать чем-то ненужным, впихивая невпихуемое в рамки дозволенного.

QoS настолько опутан аурой шаманизма и недоступности, что все молодые (и не только) инженеры стараются тщательно игнорировать его существование, считая, что достаточно закидать проблемы деньгами, и бесконечно расширяя линки. Правда пока они не осознают, что при таком подходе их неизбежно ждёт провал. Или бизнес начнёт задавать неудобные вопросы, или возникнет масса проблем, почти не связанных с шириной канала, зато прямо зависящих от эффективности его использования. Ага, VoIP активно машет ручкой из-за кулис, а мультикастовый трафик ехидно поглаживает вас по спинке.

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

Читать дальше →
Total votes 72: ↑72 and ↓0 +72
Views 142K
Comments 24

Подводные камни Inter-AS Option C на JunOS

Network technologies *
Tutorial
image alt

Данная статья написана так сказать по заявкам слушателей нашей радиостанции. При настройке Option C на JunOS у многих возникает один и тот же вопрос: почему ничего не работает хотя все вроде бы правильно? На JunOS все не так тривиально, как на Cisco и проблем может быть несколько. Перейдем непосредственно к сути: симптомы такие — вы настроили на ASBR BGP-LU сессию для организации Opt.C стыка на оборудовании Juniper (и естественно VPNv4 сессию между рефлекторами, но она тут не причем), но пинги между лупбеками PE маршрутизаторов различных автономных систем есть, а вот L3VPN не работает. Давайте разбираться, почему это происходит и как с этим бороться.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 6.3K
Comments 6

BGP Inter-AS

Network technologies *
Сегодня речь пойдет о «межоператорском» взаимодействии — BGP Inter-AS. Эти опции используют при необходимости прокинуть L3vpn между PE маршрутизаторами, находящимися в разных автономных системах. Стоит уточнить, что данные опции используются по большей части внутри компаний при поглощении/слиянии сетей, для взаимодействия между филиалами одной компании если они имеют свои автономные системы и свои mpls домены.
В статье рассмотрим следующие темы:
— BGP Inter-AS Option A
— BGP Inter-AS Option B
— BGP Inter-AS Option C
— Особенности настройки данных опций на JunOS
В данной статье будет много выводов из CLI Cisco и Juniper. Если вы не знаете основ mpls, разницы между bgp labeled-unicast и vpnv4 unicast, то читать данную статью вам нет смысла. Если же эти понятия вам знакомы, то прошу под кат.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 57K
Comments 17

Опыт двух попыток сдачи JNCIE-SP

System administration *Network technologies *Studying in IT

Введение


Добрый день или вечер, или даже ночь, дорогие хабравчане. В данной статье хочу поделиться своим опытом, сдачи экспертного экзамена JNCIE-SP. Я обладаю опытом двух сдач, в Москве и Амстердаме.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 7.7K
Comments 9

Mikrotik. Failover. Load Balancing

Network technologies *
Sandbox
Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

Давайте рассмотрим что же мы можем сделать:

Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views 268K
Comments 45

Введение в VxLAN

Network technologies *


Сегодня мы поговорим об очередной интересной технологии — VxLAN — что это за зверь и с чем его едят, да и вообще нужен ли он вам. Мое знакомство с данной технологией началось с изучения гипервизоров — я постоянно натыкался на термин VxLAN, но что это и как работает не знал. В один прекрасный день я решил все-таки прочитать, что это за зверь. Прочитав пару-тройку статей, я усвоил для себя основные аспекты работы технологии и облегченно выдохнул, прочитав, что данная технология — удел гипервизоров и к транспорту имеет косвенное отношение (хотя, как оказалось позже отношение VxLAN к транспорту имеет самое, что ни на есть прямое). После чего про технологию благополучно забыл и вернулся я к ней снова только через год, когда начал погружаться в EVPN — большинство статей и мануалов были именно о симбиозе EVPN и VxLAN. Литературы по данной технологии много, особенно если вы владеете английским. Я же попробую в данной статье рассказать об основах работы данной технологии и показать на практике — как это настраивается и работает. Но начнем с MPLS…
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views 157K
Comments 7

Английский для собеседований в IT-компании: что нужно для старта карьеры?

EnglishDom corporate blog Studying in IT Reading room

Собеседование на английском — дело непростое. Но хорошее планирование и подготовка ключевых моментов сделают этот процесс более приятным и безобидным.


Читать дальше →
Total votes 45: ↑40 and ↓5 +35
Views 146K
Comments 33

Учим английский дешево и эффективно

Learning languages
Английский можно выучить дешево, иногда даже бесплатно. В этой статье я расскажу про личный опыт: какой софт и ресурсы в Интернет оказались максимально эффективными для меня, и как ими правильно пользоваться.

Если вы не готовы тратить на английский хотя бы 2 часа в день, то дальше можно не читать.
Читать дальше →
Total votes 45: ↑40 and ↓5 +35
Views 155K
Comments 135

Сети для самых матёрых. Часть двенадцатая. MPLS L2VPN

System administration *Network technologies *
Tutorial
Долго ли коротко ли, но шестерни в очередной раз провернулись и linkmeup встал на ступень Tier 2. И несколько достаточной платёжоспособности энтерпрайзов проявили заинтересованность в организации связи между своими филиалами через сети linkmeup.

L3VPN, который мы рассмотрели в прошлом выпуске, покрывает собой огромное количество сценариев, необходимых большинству заказчиков. Огромное, но не все. Он позволяет осуществлять связь только на сетевом уровне и только для одного протокола — IP. Как быть с данными телеметрии, например, или трафиком от базовых станций, работающих через интерфейс E1? Существуют также сервисы, которые используют Ethernet, но тоже требуют связи на канальном уровне. Опять же ЦОДы между собой любят на языке L2 общаться.

Вот и нашим клиентам вынь да положь L2.

Традиционно раньше всё было просто: L2TP, PPTP да и всё по большому счёту. Ну в GRE ещё можно было спрятать Ethernet. Для всего прочего строили отдельные сети, вели выделенные линии ценою в танк (ежемесячно).

Однако в наш век конвергентных сетей, распределённых ЦОДов и международных компаний это не выход, и на рынок выплеснулось некоторое количество масштабируемых технологий випиэнирования на канальном уровне.

Мы же в этот раз сосредоточимся на MPLS L2VPN.


Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Views 138K
Comments 20

Разработка модулей FreePBX

Open source *Asterisk *
Tutorial
image

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


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


В рамках статьи, я опишу возможности расширения функционала дополнительными модулями.
Опишу процесс разработки нового модуля…

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 21K
Comments 3

Читаем контейнер закрытого ключа КриптоПро средствами OpenSSL

Cryptography *
Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary_key XOR masks_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования.

Стоит упомянуть о существовании утилиты P12FromGostCSP которая позволяет конвертировать ключ в формат P12, доступный для работы с OpenSSL, но утилита имеет следующие существенные недостатки:
  • Читает контейнер не напрямую, а через криптопровайдер, поэтому там, где кроме OpenSSL ничего нет, не работает.
  • Если в свойствах ключа не отмечено, что ключ «экспортируемый», то конвертировать его невозможно.
  • В демо версии не формирует файл с ключом, эта возможность присутствует только в платной версии.

Файл primary.key


Содержит 32 байта ключа в формате Asn1. Это только половина ключа, полный ключ получается при делении этого числа по модулю Q на маску. Поле, хранящее модуль Q в библиотеке OpenSSL имеет название order. Маска лежит в файле masks.key:

primary.key
Читать дальше →
Total votes 58: ↑56 and ↓2 +54
Views 75K
Comments 44

Оценка работы операторов на Asterisk

Asterisk *Development of communication systems *
Добрый день, %habrauser%

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

Задача:


Требуется дописать дополнительный модуль для Астериска (elastix):

Для работы горячей линии необходимо голосовое меню со сбором статистики.
Вопрос: «Помогли ли вам специалисты Горячей линии?»
Варианты ответа: Нет — кнопка «0» и Да — кнопка «1»

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 26K
Comments 25

Linux: кнопки, светодиоды и GPIO

System Programming *
Sandbox

Введение


Начиная с версии 2.6.26 (кажется) у Linux появляется стандартный интерфейс для работы с GPIO через sysfs. В оригинале прочитать об этом можно в [LGPIO00]. Я попытаюсь пересказать своими словами содержимое этого документа.

Главной точкой работы с GPIO является директория /sys/class/gpio. Если вы загляните в нее, то увидите два файла: export и unexport. Сразу после загрузки системы, все линии GPIO принадлежат ядру и использовать их в своих программах просто так не получится. Для этого, линию GPIO нужно экспортировать, записав её номер в файл export. Например, команда: echo 8 > /sys/class/gpio/export – сообщает ядру, что мы хотим использовать GPIO8. Перевод каретки '\n' и символ окончания строки '\0' – не обязательны: код на языке C: write(fd, “8”, 1); — отработает точно так же.
Читать дальше →
Total votes 92: ↑91 and ↓1 +90
Views 94K
Comments 64

Удаление Whitelist в bios ноутбуков на примере Lenovo X230

Assembler *Reverse engineering *
Sandbox
Недавно понадобилось поставить новую wifi карточку стандарта ac в свой ноутбук Lenovo x230, в котором есть whitelist для wlan карточек. Ниже опишу свои изыскания по отключению whitelist'а.


Читать дальше →
Total votes 74: ↑73 and ↓1 +72
Views 134K
Comments 55

Information

Rating
2,551-st
Date of birth
Registered
Activity