Pull to refresh
11
0
Александр Овсянников @Ovsiannikov

User

Send message

Венгерский алгоритм, или о том, как математика помогает в распределении назначений

Reading time6 min
Views62K
Привет, друзья! В этой статье хотел бы рассказать про интересный алгоритм из дисциплины «Исследование операций» а именно про Венгерский метод и как с его помощью решать задачи о назначениях. Немного затрону теории про то, в каких случаях и для каких задач применим данный алгоритм, поэтапно разберу его на мною выдуманном примере, и поделюсь своим скромным наброском кода его реализации на языке R. Приступим!

image
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments21

Зачем вам нужен Splunk? Мониторинг работы IT инфраструктуры

Reading time3 min
Views8.7K


  • Как повлияло отключение одного сервера на здоровье инфраструктуры в целом?
  • Можно ли предсказать ухудшение работоспособности инфраструктуры?
  • Какое влияние оказывают на систему критически важные службы?

В этой статье мы расскажем о том, как Splunk может помочь в поиске ответов на эти вопросы.
Total votes 11: ↑11 and ↓0+11
Comments0

Концепция MAST в Биткоине

Reading time6 min
Views4.3K
В рамках данной статьи мы поговорим о концепции MAST и ее применении в протоколе Биткоин. Мы рассмотрим свойства, которых позволяет добиться MAST, а также пользу от его применения. Статья будет интересна читателям, которые увлекаются протоколом Биткоина и другими инновационными платежными системами. Этой теме также посвящена отдельная лекция в рамках онлайн-курса по Blockchain “MAST в Биткоине”.

Концепция MAST подразумевает использование деревьев Меркла и абстрактных синтаксических деревьев, чтобы задавать условия траты монет на выходах транзакций. Рассмотрим по порядку, как это устроено.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments1

Ричард Хэмминг: Глава 12. Коды с коррекцией ошибок

Reading time14 min
Views8.7K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 394k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

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

Мы уже перевели 26 (из 30) глав. И ведем работу над изданием «в бумаге».

Глава 12. Коды с коррекцией ошибок


(За перевод спасибо Mikhail Sheblaev, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

В этой главе затронуты две темы: первая, очевидно, коды с коррекцией ошибок, а вторая — то, как иногда происходит процесс открытия. Как Вы все знаете, я официальный первооткрыватель кодов Хэмминга с коррекцией ошибок. Таким образом я, по-видимому, имею возможность описать, как они были найдены. Но вам необходимо остерегаться любых рассказов подобного типа. По правде говоря, в то время я уже очень интересовался процессом открытия, полагая во многих случаях, что метод открытия более важен, чем то, что открыто. Я знал достаточно, чтобы не думать о процессе во время исследований, так же, как спортсмены не думают о технике, когда выступают на соревнованиях, но отрабатывают её до автоматизма. Я также выработал привычку возвращаться назад после больших или малых открытий и пытаться отследить шаги, которые к ним привели. Но не обманывайтесь; в лучшем случае я могу описать сознательную часть и малую верхушку подсознательной части, но мы просто не знаем магии работы подсознания.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments0

LLTR Часть 0: Автоматическое определение топологии сети и неуправляемые коммутаторы. Миссия невыполнима?

Reading time21 min
Views13K
КДПВ: LLTR Часть 0 - пневмотранспорт из Футурамы


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


Начну с причины возникновения LLTR (Link Layer Topology Reveal).


У меня был один “велосипед” - синхронизатор больших файлов “на полной скорости сети”, способный за 3 часа целиком залить 120 GiB файл по Fast Ethernet (100 Мбит/с; 100BASE‑TX; дуплекс) на 1, 10, 30, или > 200 ПК. Это был очень полезный “велосипед”, т.к. скорость синхронизации файла почти не зависела от количества ПК, на которые нужно залить файл. Все бы хорошо, но он требует знания топологии сети для своей работы.


Подробнее в статье про него:

Ладно, а зачем понадобилось “гонять” 120 GiB файл по сети на такое количество ПК?

Этим файлом был VHD с операционной системой, программами, и т.п. Файл создавался на мастер‑системе, а затем распространялся на все остальные ПК. VHD был не только способом доставки системы на конечные ПК, но и давал возможность восстановления исходного состояния системы при перезагрузке ПК. Подробнее в статье: “Заморозка системы: история перехода с EWF на dVHD”.



Можно продолжить цепочку дальше, но на этом я прервусь.


Существующие протоколы обнаружения топологии канального уровня (LLDP, LLTD, CDP, …) для своей работы требуют соответствующей поддержки их со стороны всех промежуточных узлов сети. То есть они требуют как минимум управляемых свитчей, которые бы поддерживали соответствующий протокол. На Хабре уже была статья, как используя эти протоколы, “определить топологию сети на уровнях 2/3 модели OSI”.


Но что же делать, если промежуточные узлы – простые неуправляемые свитчи?


Если интересно как это можно сделать, то добро пожаловать под кат. Обещаю наличие множества иллюстраций и примеров.


{ объем изображений: 924 KiB; текста: 69 KiB; смайликов: 9 шт. }

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments13

Виртуальный роутер DD-WRT x86 на VirtualBox

Reading time4 min
Views33K
image

Введение:


По работе мне часто приходится работать с перепрошитыми роутерами на DD-WRT или OpenWRT. Все время как-то получалось обходиться без роутера дома, но те возможности, которые дают эти прошивки, реально классные. Вот и задумался о приобретении роутера, такого чтоб тянул все сервисы, которые мне могут понадобиться.  Остановился на выборе Asus RT-N16, но, правда, дороговата эта игрушка оказалась для меня. Это при том, что реальной необходимости в роутере не было, т.к. отлично спасала сетевая Wi-Fi карточка TP-LINK WN851ND.

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


Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments38

select / poll / epoll: практическая разница

Reading time10 min
Views71K
При проектировании высокопроизводительных сетевых приложения с неблокирующими сокетами важно решить, какой именно метод мониторинга сетевых событий мы будем использовать. Их есть несколько и каждый хорош и плох по-своему. Выбор правильного метода может быть критически важной вещью для архитектуры вашего приложения.

В этой статье мы рассмотрим:

  • select()
  • poll()
  • epoll()
  • libevent
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments66

Ричард Хэмминг: Глава 6. Искусственный интеллект — 1

Reading time16 min
Views4.5K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2394 в закладки, 380k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

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

Мы уже перевели 19 (из 30) глав. И ведем работу над изданием «в бумаге».

Глава 6. Искусственный интеллект — 1


(За перевод спасибо Иванникову Алексею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

Рассматривая историю компьютерных приложений, мы обращаем внимание на возможности пределов машин не столько в плане вычислительной сложности, сколько в плане классов задач, которые компьютер сможет или возможно не сможет решать в будущем. Перед дальнейшим рассуждениями необходимо напомнить, что компьютеры оперируют символами, а не информацией; мы не можем просто сказать, не говоря о том, чтобы написать, программу в терминах “информации”. Все мы считаем, что знаем значения слов, но хорошие размышления с вашей стороны убедят в том, что, в лучшем случае, информация — это нечёткая концепция и ей нельзя дать определение, которое можно сконвертировать программе.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments1

Расчёт сопел современных ракетных двигателей

Reading time10 min
Views58K


Введение


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



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



В ракетном двигателе сопло Лаваля впервые было использовано генералом М. М. Поморцевым в 1915 году. В ноябре 1915 года в Аэродинамический институт обратился генерал М. М. Поморцев с проектом боевой пневматической ракеты.

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

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



Однако проблемы остались старые, но уже в современном исполнении: ограниченная дальность до 3 км., наведение и удержание цели в условиях хорошей видимости, что для настоящего боя не реально, не защищённость от электромагнитных заградительных помех и, наконец, но не в последнюю очередь, высокая стоимость.
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments21

О том, как я заставлял Ubuntu работать 10 часов от батареи

Reading time11 min
Views192K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

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

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →
Total votes 296: ↑285 and ↓11+274
Comments124

Открытый курс машинного обучения. Тема 8. Обучение на гигабайтах с Vowpal Wabbit

Reading time26 min
Views126K

Всем привет!



Вот мы постепенно и дошли до продвинутых методов машинного обучения. Сегодня обсудим, как вообще подступиться к обучению модели, если данных гигабайты или десятки гигабайт. Обсудим приемы, позволяющие это делать: стохастический градиентный спуск (SGD) и хэширование признаков, посмотрим на примеры применения библиотеки Vowpal Wabbit.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments21

Типизируя техническое интервью

Reading time9 min
Views9.3K

Предлагаю читателям "Хабрахабра" перевод статьи Kyle Kingsbury, a.k.a "Aphyr".
Ранее: Заклиная техническое интервью


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

Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments7

Реализация NetFlow сенсора на FPGA + CPU — гибко и быстро

Reading time12 min
Views12K

Добрый день!


Как вы поняли из названия, вас ждет очередная статья про NetFlow, но на этот раз с необычной стороны — со стороны реализации NetFlow сенсора на FPGA.



Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments3

Подробное руководство по настройке TTL для записей DNS

Reading time9 min
Views102K
image

Система DNS — это фундаментальный технологический продукт. Обработка практически всех сетевых запросов верхнего уровня и поисковых запросов в Интернете, пересылка интернет-трафика и электронной почты, а также многие другие операции становятся возможными благодаря установке определенных соответствий при поиске DNS (преобразованию таких имен, как some.domain.org, в IP-адреса или имена других доменов).
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments8

Pygest #5. Релизы, статьи, интересные проекты из мира Python [28 февраля 2017 — 13 марта 2017]

Reading time2 min
Views10K
image Всем привет! Это уже пятый выпуск дайджеста на Хабрахабр о новостях из мира Python. В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся машинного обучения, особенностей работы Python, инструментов (Docker, Celery и тд), тестирования и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
Перейти к дайджесту
Total votes 27: ↑26 and ↓1+25
Comments2

Серверы в Нидерландах для Хабра бесплатно на декабрь: E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps 10TB — $29 / месяц

Reading time4 min
Views14K
В отличии от общепринятого тренда, в этом году в Black Friday мы анонсировали начало предоставления новой услуги, полноценного аналога выделенных серверов, серверов с выделенным накопителем, которые превосходят устаревшие G850 и даже Е3-1230 по производительности в разы:

Чёрные серверы в Нидерландах с чёрной пятницы (предзаказ): 6х2.20GHz 10GB DDR4 240GB SSD 1Gbps 10TB — $29 / месяц.

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

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

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

image
Читать дальше →
Total votes 36: ↑24 and ↓12+12
Comments79

Оптимизация производительности NFV для локального оборудования заказчиков с виртуализацией

Reading time13 min
Views2.9K
В решениях, направленных на виртуализацию реальных сетевых функций, основным фактором является способность обеспечить предсказуемую и гарантированную производительность и пропускную способность для трафика заказчика. Во многих проектах, предназначенных для проверки концепции, уделялось значительное внимание повышению пропускной способности сети, но величина задержек является не менее важным показателем работы сетей (а в ряде случаев — гораздо более важным). В этой статье описывается тестовая среда в лабораториях BT Adastral Park на основе архитектуры Intel Open Network Platform. Эта тестовая среда разработана для оценки производительности локального оборудования заказчиков с виртуализацией.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

SDN: изменения концепции за 5 лет

Reading time5 min
Views12K
Начиная с 2011-2012 гг стали много говорить и писать про необходимость изменения архитектуры компьютерных сетей по целому ряду причин. В первую очередь причиной называли лавинообразный рост трафика и изменение его структуры и сложность масштабирования сетей. Как раз в этот период видео-трафик начал расти по экспоненте: с 2010 году Cisco сделали прогноз о 26-кратном росте видео-трафика к 2015 году. Мобильный трафик рос совсем невероятными темпами: с 2005 по 2015 год в 4 000 раз. К списку причин можно добавить еще и рост популярности облачных архитектур, потребность в снижении стоимости владения сетями, снижение зависимости от вендоров и т.д. В качестве наиболее очевидного преемника традиционной сетевой архитектуры, где Control Plane и Data Plane совмещены, называли архитектуру Software Defined Networking (SDN), при которой плоскость управления сетью выносилась на выделенный контроллер. В конечном итоге в качестве главного достоинства SDN закрепилось экономичность и независимость от вендора.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments27

Как пропатчить ядро без перезагрузки: livepatch, kpatch и Canonical Livepatch Service

Reading time7 min
Views18K
pr-3322

Тему обновления патчей ядра без перезагрузки мы уже рассматривали в статье, опубликованной в 2014 году. В ней речь шла о KernelCare — инструменте, разработанном нашими партнёрами из компании Cloud Linux. На момент написания статьи KernelCare был чуть ли не единственным пригодным для полноценного использования инструментом для наложения патчей.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Функциональное программирование для всех

Reading time33 min
Views351K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Total votes 188: ↑181 and ↓7+174
Comments151

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity