Обновить
0
Павел Рыбкин@DualFishread⁠-⁠only

QA Engineer

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

Обзор промышленного квадрокоптера DJI Matrice 300 RTK

Время на прочтение6 мин
Охват и читатели22K


DJI представила новый промышленный дрон Matrice 300 RTK. Налегке он способен находиться в воздухе 55 минут, а с максимальной нагрузкой в 2,7 килограмма емкости аккумулятора хватит на 31 минуту. Потенциал беспилотника поистине впечатляет.

Производитель сумел поместить в устройство интеллект, высокую производительность и надежность одновременно. Matrice 300 RTK, как ожидается, станет незаменимым инструментом в таких сферах как поисково-спасательные работы и пожаротушение, обеспечение правопорядка и безопасности, строительство, инспекция ЛЭП, трубопроводов и скважин, а также сможет служить универсальным устройством в сфере развлечения: от съемки захватывающих видов до создания кино.
Читать дальше →

Экспортируем данные OpenStreetMap с помощью визуального редактора на rete.js

Время на прочтение8 мин
Охват и читатели11K

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


Вот только процесс работы с ними в какой-то момент начал меня утомлять. Чтобы вытащить данные по какому-то нетривиальному запросу, нужно или изучать язык запросов Overpass, или писать скрипты и ковыряться в OSM XML формате.


Проделывая эти манипуляции в сотый раз, я задумался о создании какого-нибудь более простого и удобного инструмента. И вот он готов — https://yourmaps.io, визуальный редактор описаний экспорта OpenStreetMap. В редакторе можно мышкой натыкать граф, каждый узел которого будет представлять операцию или фильтр над потоком OSM объектов, а затем скачать результат в GeoJSON.


Вот пример графа, который выбирает все школы в границах заданного муниципального округа, и затем строит 300-метровые буферы вокруг них:



В результате работы получим вот такой набор полигонов в GeoJSON формате, которые затем можно импортировать в QGIS или еще какой-либо софт.


Под катом — немного про функционал сервиса, а также мой опыт работы с библиотекой Rete.js, которая позволяет легко вставлять визуальное программирование и редактирование графов в свой веб-проект.

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

Как поезд проходит путь от станции до станции: особенности маршрутизации

Время на прочтение9 мин
Охват и читатели37K


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

Он разделён на блок-участки. Блок-участок — это маленький отрезок перегона, чаще всего от светофора до светофора. В обычной ситуации на одном блок-участке может находиться только один поезд. То есть если на блок-участке сейчас кто-то есть, в его начале горит запрещающий сигнал, не позволяющий следующему поезду заехать на него. А на блок-участке до этого горит жёлтый, ограничивающий максимальную скорость.

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

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма

Время на прочтение13 мин
Охват и читатели13K

Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Edition даёт возможность значительно расширить аудиторию пользователей (раньше можно было пользоваться только триальной версией, а по истечении 45-и дней учиться "вприглядку").


Что ж, как говорили великие Керниган и Ритчи — "единственный способ научиться новому языку программирования — это начать на нём программировать". Этим и займёмся.


В первой части мы разберём основные элементы среды разработки, и нарисуем на блок-диаграмме наш первый "Hello, World!"



Статья-туториал рассчитана на тех, кто видит LabVIEW впервые. Под катом полсотни картинок примерно на семь мегабайт.

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

Расширенный HTML

Время на прочтение9 мин
Охват и читатели15K

В этой статье хотел бы рассказать немного про библиотеку, первую версию которой я создал еще в конце прошлого года. Суть очень простая — расширить возможности языка HTML, чтобы можно было без JavaScript'а писать простые и рутинные вещи: отправка формы в json формате, загрузка HTML тимплейтов на определенную страницу(по сути модульная система для HTML через http/s запросы), турболинки(привет пользователям RoR), простая шаблонизация на основе ответов ajax запросов и немного еще.


image


Библиотека называется EHTML или Extended HTML. Основана она на небезызвестной идее веб компонентов. Она доступна на гитхабе, там довольно таки структурированная документация с примерами. В этой статье я просто опишу основные идеи, возможно кому-то это зайдет.

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

Мой опыт использования вертикального монитора

Время на прочтение3 мин
Охват и читатели83K


Привет, Хабр! У меня, как и, вероятно, многих других, часто возникает желание внести какие-то изменения в свое рабочее окружение. В этой статье вы найдете мысли насчет одного такого изменения — поворота монитора на 90°. Надеюсь, что статья поможет реорганизовать рабочее место, если вы давно хотели это сделать.

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

Как работает видеокодек. Часть 2. Что, для чего, как

Время на прочтение12 мин
Охват и читатели56K

Первая часть: Основы работы с видео и изображениями




Kodek's History

Что? Видеокодек — это часть программного/аппаратного обеспечения, сжимающая и/или распаковывающая цифровое видео.

Для чего? Невзирая на определённые ограничения как по пропускной способности так
и по количеству места для хранения данных, рынок требует всё более качественного видео. Припоминаете, как в прошлом посте мы подсчитали необходимый минимум для 30 кадров в секунду, 24 бита на пиксель, с разрешение 480x240? Получили 82,944 Мбит/с без сжатия. Сжатие — это пока единственный способ вообще передавать HD/FullHD/4K на телевизионные экраны и в Интернет. Как это достигается? Сейчас кратко рассмотрим основные методы.
Читать дальше →

Jitsi Meet: опенсорсная альтернатива «шпионскому» видеоприложению Zoom

Время на прочтение4 мин
Охват и читатели175K
В связи с массовым переходом на удалённую работу приложение для видеоконференций Zoom резко выросло в популярности. Но это не идеальный вариант с точки зрения безопасности. Хотя Zoom предлагает end-to-end шифрование для текстовых чатов, а шифрование видеоконференций можно активировать на стороне хоста, если верить разработчикам проприетарной программы.

Но тип шифрования невозможно проверить, потому что код закрыт, а с точки зрения приватности приложение Zoom вызывает вопросы у некоторых экспертов. Например, хост может активировать странную функцию «трекинг внимания» (attention tracking). Она отслеживает, что участник не отвлекается от совещания больше, чем на 30 секунд (окно приложения должно быть открыто и активно).

Как мы ускорили кодирование видео в восемь раз

Время на прочтение4 мин
Охват и читатели17K


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

Меня зовут Аскар Камалов, год назад я присоединился к команде видеотехнологий Яндекса. Сегодня я коротко расскажу читателям Хабра о том, как с помощью распараллеливания процесса кодирования нам удалось в разы ускорить доставку видео до пользователя.

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

Пример гексагональной архитектуры на Java

Время на прочтение8 мин
Охват и читатели24K
Перевод статьи подготовлен специально для студентов курса «Разработчик Java».





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

Реверс-инжиниринг мозга. Память

Время на прочтение13 мин
Охват и читатели21K
image

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

Ходишь с черным ящиком внутри черепной коробки, и этот ящик понимает, что он сам себе дает такое описание. Это же очень любопытно. Если бы мне дали железку с такими возможностями, я бы все свободное время убил на то, чтобы понять, как она работает. Собственно, я и убиваю. Объект исследования всегда при мне — очень удобно. Жаль только, внутри покопаться нельзя.

Мозг записывает и обрабатывает информацию. Но как? Почему что-то хранится долго, а что-то забывается за пару дней? Как это связано с нейронами?

Можно ли, основываясь на информации из нейробиологии, построить модель мозга дающую похожее на реальный мозг поведение?

А что гадать? Давайте просто попробуем.
Читать дальше →

Network diagram as code / Схема сети как код

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

Но самый проблемный момент — это поддерживать эту документацию в актуальном состоянии. И ладно бы текст, но схемы… Т.к. вся документация онлайн, т.е. в формате html, то к тексту прилагаются картинки gif/jpeg/png, на которых собственно изображены схемы. А схемы рисуются в различных программах типа Visio или онлайн-сервисах а-ля draw.io. Затем экспортируешь схему в графический формат и прилагаешь к html. Все просто.

В чем проблема?
Читать дальше →

Создание карандашного эффекта в SVG

Время на прочтение7 мин
Охват и читатели12K
Моя игра Dragons Abound создаёт карты в векторном графическом формате SVG. Векторная графика имеет множество особенностей (например, зум без потерь), что удобно для карт. Также векторная графика хороша для создания чётких линий, например, чернильных контуров:


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


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

Это достаточно серьёзное ограничение векторной графики, поэтому в SVG добавлены хитрости, позволяющие более эффективно воспроизводить некоторые из подобных эффектов текстур. Я исследую некоторые из этих функций SVG для создания эффекта, напоминающего карандашную линию. Разумеется, существует множество более сложных решений для воссоздания карандашных линий. Об этой теме написаны целые научные статьи. Но я просто надеюсь создать довольно простой фильтр, обеспечивающий приемлемый результат.
Читать дальше →

Самодельный рекуператор для загородного дома с КПД 80%

Время на прочтение2 мин
Охват и читатели140K

image


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

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

Работаем с аудио: прогресс и визуализация данных

Время на прочтение6 мин
Охват и читатели21K


Доброго времени суток, друзья!

Хочу поделиться опытом работы с аудио. Под «аудио» я подразумеваю HTMLAudioElement и Web Audio API.

Что будем делать?

Мы создадим нечто вроде плеера для одного трека (о полноценном проигрывателе — в одной из следующих статей).

Условия:

  • Возможность загрузки файла из любого места на жестком диске как по нажатию кнопки, так и перетаскиванием.
  • Круговой графический и текстовый индикаторы прогресса.
  • Текстовый индикатор громкости звука.
  • Визуализация аудио данных.
  • Управление плеером с помощью клавиатуры.

В сети полно материалов как по HTMLAudioElement, так и по WAAPI, поэтому я сделаю акцент на практической составляющей. Кроме аудио, мы будем работать с drag-drop и canvas.

Без дальнейших предисловий…
Читать дальше →

Почему pomodoro у разработчиков “не взлетает” и как с этим бороться?

Время на прочтение8 мин
Охват и читатели32K
Систему управления своим временем с использованием кухонного “помидорного” таймера пиарят все, кому не лень. Помогает она не всем. Но я вижу, что разочарованные экспериментаторы наступают на одни и те же грабли. Поговорим о том, как их обойти.

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

Ускоряем OpenVPN на роутере Openwrt. Альтернативная версия без паяльника и хардварного экстремизма

Время на прочтение4 мин
Охват и читатели19K


Всем привет, недавно прочитал давнюю статью о том, как можно ускорить OpenVPN на роутере, перенеся шифрование на отдельную железку, которая припаивается внутри самого роутера. У меня аналогичный с автором случай — TP-Link WDR3500 с 128 мегабайтами оперативки и бедным процессором, который напрочь не справляется с шифрованием туннелей. Однако, лезть в роутер с паяльником мне категорически не хотелось. Под катом мой опыт выноса OpenVPN на отдельную железку с резервированием на роутере на случай аварии.
Читать дальше →

Коронавирусы: от SARS к 2019-nCoV

Время на прочтение11 мин
Охват и читатели333K
image

Disclaimer: Я высказываю свое субъективное мнение на базе доступных данных. Мнение профессиональных вирусологов и эпидемиологов может отличаться от моего. В любой непонятной ситуации обращайтесь к материалам ВОЗ.

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

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3)

Время на прочтение7 мин
Охват и читатели74K
Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами.

Как с ними работать, какими инструментами пользуюсь я и т.д.

В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщение со стикером, как найти в тексте сообщения все смайлы(эмодзи), как создать сообщение с использованием смайлов (эмодзи).

Кому интересно, прошу под кат.
Читать дальше →

Долбанутые командные игры

Время на прочтение5 мин
Охват и читатели46K

Давайте сегодня поговорим о социопатах. И об их противоположности – командных игроках.

Появилась у меня игра «Совушки, ау», и я прям остро всё прочувствовал. Она командная, и сделана так, что победить в ней могут только те, кто работает на общее благо. Причём часто делая тактически невыгодные ходы, но стратегически перспективные. Если идею поймёт другой игрок.

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

Но внятным правилам подчиняются лишь взрослые. Дети же безумны.
Читать дальше →

Информация

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