Pull to refresh
59
0.3
Владимир Баранов @xsevenbeta

Администратор Informatica, ETL

Send message

Linux в режиме реального времени

Reading time6 min
Views46K


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

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

Возможности ядра в реальном времени существует уже более десяти лет в экосистеме программ с открытым исходным кодом. Столько же времени доступна поддержка Red Hat Enterprise Linux (RHEL) для ядра реального времени. Тем не менее многие системные администраторы неверно истолковывают его основные концепции и фактическое рабочее поведение. В этой статье я опишу некоторые из его основных функций, отличия от стандартного ядра и шаги по установке.
Читать дальше →

Создание несложного бота для WoW, программирование маршрутов (продолжение)

Reading time16 min
Views84K
Это вторая часть поста на тему создания несложного бота для игры World of Warcraft. С первой частью можно ознакомиться здесь. Сегодня мы поговорим о
  1. написании Recorder'а клавиш и координат на языке AutoIt
  2. написании Player'a инструкций для бота
  3. математике 2D, как ориентироваться в декартовой системе координат без теоремы косинусов
  4. управлении роботом при недостаточном количестве датчиков
  5. мерах противодействия ботам



Recorder


Наша задача: чтение цветов пикселей, определение нажатий клавиш, фоновая работа с возможностью приостановки, посылка кликов в приложение. Здесь как нельзя лучше подойдет язык AutoIt. Чтобы написать то же самое на Си, пришлось бы
Читать дальше →

Создание простого бота для онлайн-игры world of warcraft

Reading time10 min
Views76K
Думаю, тема ботов не оставляет равнодушным ни одного игрока в онлайн-игры. Кого-то они раздражают, кто-то ими интересуется, а кто-то их использует. Существует и некоторое количество людей, довольно маленькое относительно остальных трех групп — это люди, которые этих ботов разрабатывают.
Я предлагаю присоединиться к этой небольшой касте людей и посмотреть изнутри процесс разработки бота.

Предыстория


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

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

В качестве инструмента для реализации был выбран Auto It, но потом оказалось что задача не такая тривиальная, как выглядит на первый взгляд, и пришлось подключать дополнительные инструменты. Сразу скажу, что никакие «грязные» методы вроде чтения памяти процесса или перехвата траффика я не использовал, только autoit для имитации кликов мышки и клавиатуры и чтения цветов пикселей с экрана.

Что из этого вышло и с какими проблемами я столкнулся

Автоматизация рыбной ловли для World of Warcraft

Reading time5 min
Views90K
Познакомился с World of Warcraft очень давно и люблю его весь, но одна вещь больше всего не давала мне покоя — рыбная ловля. Это нудное повторяющееся действие, где ты просто нажимаешь на кнопку рыбной ловли и тыкаешь на поплавок раз в 5-15 секунд. Мой навык разработки рос, а ситуация с рыбной ловле так и не улучшалась с каждым годом что я играл, поэтому я решил убить двух зайцев сразу — начать осваивать python и всё же сделать бота для себя.
Читать дальше →

NSX Advanced Load Balancer – умный автомасштабируемый балансировщик нагрузки. Часть 2: установка и настройка

Reading time8 min
Views5.9K
В прошлый раз я рассказал о функциях балансировщика нагрузки NSX ALB, описал его архитектуру и схему работы. Мы посмотрели, как работает глобальная балансировка серверов (GSLB), которая объединяет серверы на географически разнесенных площадках в единый пул. В том числе, так можно распределять нагрузку между серверами в облаке и локальными серверами.

В этой статье поделюсь опытом внедрения системы для тестирования в нашем облаке. Опишу установку NSX ALB в VMware vCenter и основные этапы настройки для тех, кто хочет самостоятельно подключить для глобальной балансировки свою локальную площадку. 



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

Работа с изображениями на Python

Reading time18 min
Views108K
Тема сегодняшнего разговора — чему же научился Python за все годы своего существования в работе с изображениями. И действительно, кроме старичков родом из 1990 года ImageMagick и GraphicsMagick, есть современные эффективные библиотеки. Например, Pillow и более производительная Pillow-SIMD. Их активный разработчик Александр Карпинский (homm) на MoscowPython сравнил разные библиотеки для работы с изображениями на Python, представил бенчмарки и рассказал о неочевидных особенностях, которых всегда хватает. В этой статье расшифровка доклада, который поможет вам выбрать библиотеку под свое приложение, и сделать так, чтобы она работало максимально эффективно.


О спикере: Александр Карпинский работает в компании Uploadcare и занимается сервисом быстрой модификации изображений на лету. Участвует в разработке Pillow — популярной библиотеки для работы с изображениями на Python, развивает собственный форк этой библиотеки — Pillow-SIMD, который использует современные инструкции процессоров для наибольшей производительности.

Пишем бот для пазл игры на Python

Reading time18 min
Views12K
Давно хотел попробовать свои силы в компьютерном зрении и вот этот момент настал. Интереснее обучаться на играх, поэтому тренироваться будем на боте. В статье я попытаюсь подробно расписать процесс автоматизации игры при помощи связки Python + OpenCV.

image

Кунг-фу стиля Linux: глобальный поиск и замена строк с помощью ripgrep

Reading time6 min
Views15K
Даже те, кто пользуется Linux лишь от случая к случаю, вероятно, знают о том, как работать с grep. При этом не нужно быть экспертом в сфере регулярных выражений для того чтобы без особых сложностей пользоваться grep для поиска в файлах строк, соответствующих простым последовательностям символов или сложным шаблонам. Конечно, grep — это отличный инструмент для поиска информации. Но что если нужно что-то найти, а потом — заменить это на что-то другое? Например, может быть, нужно изменить все найденные слова HackADay на Hackaday. Тут можно применить sed, но этой утилитой пользоваться довольно сложно. Для решения этой задачи можно было бы воспользоваться awk. Но, учитывая то, что речь идёт о языке программирования, использовать его для решения столь простой и распространённой задачи — это, пожалуй, чересчур. Именно идея, заключающаяся в простом решении вышеописанной задачи, и лежит в основе утилиты ripgrep (соответствующая ей команда выглядит как rg). С помощью rg можно решать те же задачи, что решает grep, но при этом — пользоваться более современными регулярными выражениями и, кроме того, не только искать строки, но и выполнять их замену.


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

Сверхэффективная нейронная сеть или гиперсеть

Reading time20 min
Views16K


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

Распознавание русского алфавита: от сбора датасета до создания GUI

Reading time6 min
Views23K

Привет, Хабр! В этой статье я бы хотел рассказать как я сделал распознавалку русских букв и прикрутил к этому небольшой графический интерфейс.


Спойлер: в результате должно получиться вот так:


image

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

Дешифровка текста методом частотного анализа

Reading time4 min
Views36K

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


s1200

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

Быстрый поиск касательных и пересечений у выпуклых многоугольников

Reading time9 min
Views9.4K

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


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

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

Самые распространенные ошибки, которые допускают пользователи при эксплуатации SSD

Reading time8 min
Views178K


Привет, Хабр! Мы уже не раз писали о том, как правильно эксплуатировать SSD-накопители Kingston, чтобы добиться от них максимальной производительности при долгой наработке на отказ. Однако, мы по-прежнему замечаем комментарии, в которых пользователи высказывают мнение о ненадежности SSD-накопителей в целом, а также пишут нам о неудачных опытах их использования.

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

Самое частое описание проблемы, как правило звучит так «поставил в компьютер SSD-накопитель, а через год эксплуатации (а то и раньше) он начал тормозить», или же «скорости чтения/записи оказались заметно ниже заявленных производителем». В чем же кроется причина таких ситуаций?
Читать дальше →

7 soft skills, которые нужно начинать прокачивать уже сейчас

Reading time10 min
Views26K
image

Быть программистом в 2020 году — не то же самое, что десять лет назад. Мир постоянно меняется, и многие из умений, которые были важны тогда, со временем отошли на второй план. А какими навыками должен обладать разработчик, чтобы оставаться востребованным специалистом, например, через пять лет? Если у вас их нет, возможно, стоит подумать над их развитием уже сейчас?

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

6 ошибок мышления, из-за которых вы остаетесь на нелюбимой работе

Reading time8 min
Views73K

В начале 2020 года специалисты сервиса по поиску работы «Работа.ру» провели социальный опрос и выяснили, что в следующие 12 месяцев 74% россиян хотят заняться вопросом нового трудоустройства. 53% респондентов рассказали, что недовольны текущим уровнем заработной платы. Но почему в итоге ничего не происходит?

Лишь малая часть из тех, кто планирует сменить место работы, в конечном итоге делает это. Оказывается, в большинстве случаев основная причина бездействия — когнитивные ошибки. Мы решили разобраться, что это и из-за каких именно ошибок в мышлении люди отказываются менять карьеру и добиваться новых высот.

Читать далее

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

Reading time5 min
Views63K


Мне нравятся пост-ковидные правила игры. Добрая половина вакансий — удаленка. Мы больше не ищем в описании слова «гибкий график» — это теперь само собой разумеется. Никому не придет в голову заставить программиста строго сидеть за компом от 9 утра до шести вечера. Боссы теперь уважают наше время и личное пространство. И нам все еще очень хорошо платят.

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

Когда я первый раз получил оффер на ремоут, я так и подумал. В том, как офис пожирает лишнее время очень простая арифметика — конкретно на работу тратишь часа четыре, еще четыре ты страдаешь фигней, два тратишь на дорогу и час вычеркиваешь из каждого утра — он хоть и свободный, но бесполезный. Около восьми часов ты должен спать. У тебя остается всего пять часов на свои дела по дому и общение с семьей. Это ничтожно мало — ведь ты ещё обычно и зверски устал, когда вернулся.
Читать дальше →

Четыре способа получить аудио вк или «это не баг, а фича»

Reading time127 min
Views71K

Всем привет! Сегодня я расскажу вам о моем опыте с ВК, найденных багах, об отношении к пользователям и, собственно, как получить аудиозаписи вк, пользуясь "не багами а фичами", как меня заверяли сотрудники данной корпорации. Итак, приступим!

Читать далее

Полное руководство по сезонной депрессии (SAD). 7 видов светотерапии

Reading time26 min
Views70K


Я проделал большую работу по исследованию англоязычной литературы на тему «рекуррентное депрессивное расстройство (F33) с сезонным паттерном». В этой статье я системно изложу всю найденную информацию.

Почему эта статья важна:

  1. Лучшая книга по сезонной депрессии (Winter Blues) за все 27 лет её существования не была переведена на русский язык, а англоязычную версию не найти в открытом доступе. Я купил и прочитал книгу через Kindle, а также внедрил 70% описанных в ней методик в жизнь. Моя статья будет, по сути, пересказом книги и её адаптации под российские реалии
  2. Полное непонимание сезонной депрессии как обывателями, так и некоторыми профессиональными врачами в России, хотя эта страна находится в группе риска
  3. Низкое качество статей рунета в целом и статей по здоровью в частности. А статьи на Хабре, имеющие отношение к SAD, можно пересчитать по пальцам, и они не дают общей картины
  4. Производители ламп яркого света используют хитрые манипуляции, маркируя слабенькие лампы как дающие 10 000 люкс, но достигая этой яркости на расстоянии около 10 сантиметров от лампы до хрусталика глаза
Читать дальше →

Как мы внедрили скрытие аккаунтов в Telegram или #ДуровДобавьДвойноеДно

Reading time8 min
Views220K

Если анимация не воспроизводится, смотрите её здесь.

Здравствуйте, Павел Дуров! Мы надеемся, что Вы нашли время ознакомиться с данным открытым письмом. Мы разработали решение для Telegram-клиента, которое позволяет скрывать аккаунты и открывать их только через уникальный код-пароль (см. анимированное превью). Нет никаких следов присутствия скрытых аккаунтов. Невозможно узнать, есть ли в мессенджере скрытые аккаунты и какое их количество. Решение именуется как «Двойное дно».

Все нюансы были тщательно нами продуманы, а сам Telegram-клиент с точки зрения интерфейса и пользовательского опыта никак не изменился. Практически никаких доработок со стороны команды Telegram не требуется. «Двойное дно» сделано полностью «под ключ», Вам нужно лишь принять наш «Pull Request» в Вашем репозитории. Перед тем как отправить «Pull Request», мы возьмем несколько дней на сбор обратной связи от пользователей, чтобы исправить мелкие недочеты. Для ознакомления Вы можете установить нашу сборку через TestFlight, а если под рукой нет iOS-устройства, то посмотреть видео. Исходный код сборки доступен на GitHub.
Читать дальше →

Information

Rating
3,938-th
Works in
Date of birth
Registered
Activity