Search
Write a publication
Pull to refresh
0
@Michaelikusread⁠-⁠only

User

Send message

Разработка 3D-аудиовизуализатора с помощью Three.js, GSAP и Web Audio API

Level of difficultyMedium
Reading time14 min
Views1.9K

Визуализатор звука, в котором светящийся 3D-шар пульсирует и меняет цвет в такт музыке, а перетаскиваемые панели GSAP плавно перемещаются вокруг него по инерции.

Демо

Код

Звук — это волны, зрение — это волны, которые мы видим. Я всегда стремлюсь поймать момент, когда эти волны накладываются друг на друга. Для недавнего задания от сообщества Webflow и GSAP, посвященного плагинам GSAP Draggable и Inertia, я решил развить идею, создав футуристический визуализатор, реагирующий на звук. Идея заключалась в создании научно-фантастического интерфейса "детектора аномалий", который реагирует на музыку в реальном времени, совмещая атмосферные визуальные эффекты со звуком.

Поехали!

Начинающему сетевому программисту

Reading time17 min
Views151K

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее

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

Reading time12 min
Views158K

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


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


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

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

Одноплатники для работы и хобби: 5 отличных вариантов на все случаи жизни

Reading time4 min
Views21K

DEBIX Model A. Источник изображения: cnx-software.com
Привет, Хабр! И снова поговорим про одноплатники. В июле в продаже появилось сразу несколько интересных систем, на которые мы обратили внимание. Надеемся, что они вам тоже понравятся — ведь представленные варианты достаточно универсальны. Их можно использовать как для рабочих, так и домашних проектов, самых разных. И как всегда, просим, если у вас есть свои варианты — расскажите о них в комментариях, обсудим!
Читать дальше →

Kafka и Chronicle Queue

Reading time6 min
Views5.3K

Хотя облачные сервисы удобны и гибки, эксплуатационные затраты на приложения, развёрнутые в облаке, иногда могут быть существенными. В этой статье мы расскажем о способе существенного снижения эксплуатационных затрат в чувствительных к задержке Java-приложений с Event-Driven Architecture (EDA) при помощи миграции с Kafka на Chronicle Queue — опенсорсной, более эффективно использующей ресурсы реализации очереди с пониженной задержкой.
Читать дальше →

Обзор методов множественного доступа в беспроводной связи. Часть 1. Как разделить спектр: Частотно-временное разделение

Reading time18 min
Views25K

В настоящее время происходит бурное развитие технологий беспроводной связи: новые поколения сотовой связи (5G, 6G), интернет вещей, спутниковая связь и т.д. Одна из ключевых задач, стоящих перед разработчиками новых систем связи – обслуживание одной радиосистемой как можно большего числа абонентов, т.е. задача эффективной организации множественного доступа. Традиционные технологии временного (TDMA), частотного (FDMA) или кодового (CDMA) разделения пользователей уже не способны удовлетворить возрастающие потребности современного мира, поэтому перед разработчиками стоит острая необходимость в разработке новых, более эффективных и ёмких методов множественного доступа к радиоэфиру. Этой статьёй запускается целая серия, поэтому следите за обновлениями нашего блога. В этой серии статей я попытаюсь дать подробный обзор методов множественного доступа, как широко используемых на данный момент, так и новых, находящихся на стадии теоретической или практической разработки.

В первой части мы рассмотрим технологии множественного доступа, использующие разделение абонентов по времени, по частоте или комбинированное частотно-временное разделение – начиная от традиционных TDMA и FDMA и заканчивая перспективными модификациями OFDM, а также технологиями SEFDM и OTFS.

Читать далее

Manticore — альтернатива Эластику на C++ с 21-летней историей

Reading time53 min
Views31K

5 лет назад мы форкнули Manticore из open source версии некогда популярного open source поискового движка Sphinx 2.3.2. У нас было два пакетика травы, семьдесят пять ампул мескалина, три C++ разработчика, один саппорт-инженер, опытный пользователь, менеджер, мать пятерых детей, помогающая нам на полставки и гора багов, крэшей и технических долгов. И вот, по прошествии 5 лет и сотен новых пользователей мы готовы сказать, что Manticore можно использовать как альтернативу Elasticsearch и для полнотекстового поиска и для аналитики данных.

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

Читать далее

Постоянный ток в доме. Риски, которые никто не замечает

Reading time5 min
Views99K

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

Читать далее

Работа с файлами — это сложно

Reading time19 min
Views18K

Я уже много лет не пользовался десктопным клиентом электронной почты. Ни один из них не может справиться с объёмом получаемой мной почты, по крайней мере один раз не повредив мой почтовый ящик. Pine, Eudora, Outlook — все они повреждали мой почтовый ящик, вынуждая восстанавливаться из резервной копии. Как получилось, что десктопные почтовые клиенты менее надёжны, чем Gmail, хотя мой аккаунт в Gmail не только обрабатывает больше писем, чем у меня когда-либо было в десктопных клиентах, но и обеспечивает одновременный доступ из множества точек мира? Распределённые системы имеют нечестное преимущество — они, в отличие от десктопных клиентов, устойчивы к полному отказу диска, однако ни одна из моих проблем повреждения файлов не была связана с полным отказом диска. Почему же мой опыт работы с десктопными приложениями был настолько плохим?
Читать дальше →

Шпаргалка по метрикам производительности cURL: как измерить задержку сервера

Reading time8 min
Views25K


Эту шпаргалку я написал в первую очередь, потому что был несколько озадачен, когда в течение более, чем 10 минут пытался найти в Google значение time_pretransfer. Попробуйте сами, я подожду. Это настоящая загадка!
Читать дальше →

Как сделать магический шар на Three.js

Reading time9 min
Views9K

Конечно же, после смерти Flash веб не превратился в простую, скучную плоскость. К старту курса по фронтенду показываем, как при помощи Three.js и технологии WebGL создать магический шар с анимацией внутри объёма. Автор статьи не только опубликовал код на CodePen для удобной демонстрации, но и добавил на страницу ползунки, чтобы вы могли экспериментировать с шаром и сразу видеть результат. В конце вы найдёте ссылку на исходный код на Github и демонстрацию не на CodePen.

Читать далее

Как получить температуру в -50°C (и ниже!) на дому или вихревая трубка Ранка-Хилша «под микроскопом»

Reading time13 min
Views74K

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

Наглядно о том, как работает свёрточная нейронная сеть

Reading time6 min
Views65K

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

Читать далее

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views69K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция

Reading time6 min
Views158K
Каким образом повысить количество российских инженеров, которые были бы знакомы и с разработкой хардвера, и с разработкой софтвера, и могли бы строить системы, в которых часть функциональности находится в специализированном железе, а часть — в программном обеспечении, с соблюдением баланса между ними?

Для этого вовсе не обязательно выбрасывать несуразные деньги а-ля сделка Сколкова и MIT.

Есть масса дешевых и эффективных мер по апгрейду российской образовательной системы. Одна из них — широко ввести практические классы ПЛИС / ППВМ / FPGA среди старших школьников и студентов. Это то, на чем учатся и инженеры, которые потом разрабатывают микросхемы внутри Apple iPhone в Купертино, Калифорния.
Читать дальше →

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв

Reading time20 min
Views22K

Предлагаю ознакомиться с расшифровкой доклада Ивана Пономарёва «Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем».


Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют тенденцию к быстрому увеличению сложности. И это добавляет «изюминку» в вашу задачу. Иван расскажет, как можно преодолевать сложность Ansible-кода с помощью тестирования. В Docker-контейнерах.
По мере разрастания кодовой базы в Ansible приходят знакомые проблемы: сложность поддержки кода, ошибки и страх изменений. У знакомых проблем есть знакомое решение: автоматическое тестирование и CI. В докладе Иван покажет, как с использованием ряда инструментов решить проблемы «хрупкости» Ansible-кода, выполнить статический анализ, протестировать Ansible-скрипты и настроить CI-системы для публикации ролей в Ansible Galaxy.


Open Source Guides: Запуск проекта с открытым исходником

Reading time13 min
Views13K


Предисловие переводчика


Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Source»), использовал такие проекты в работе, обращался с вопросами к сообществам, сообщал о багах, рыскал в issues и, даже делал неуклюжие попытки что-то улучшать, хотя бы документацию. И само собой, сердцем я был с этими ребятами, которые делятся софтом и знаниями по его использованию. Тем не менее, понятие об open source у меня было скорее смутное и обрывочное. А эта статья добавила ясности.

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

Вне зависимости от вашего отношения к open source, думаю, вы найдёте в этой серии из 10 статей много интересных идей и фактов: организационных, психологических, юридических, этических и технических.

Я дал прочитать этот текст нескольким непрограммистам, они сказали, что всё поняли. А в заголовке статьи я намеренно поставил «исходник» без «кода», потому что данная тема актуальна не только для программистов, а почти для любой интеллектуальной деятельности в формате открытого проекта.
Читать дальше →

Полезные советы по использованию HyperLynx DDR Wizard для анализа QDR4

Reading time6 min
Views6.2K


Quad Data Rate (QDR-IV) является стандартом высокопроизводительной памяти для сетевых применений и идеально подходит для нового поколения сетевых устройств, коммуникационного оборудования и вычислительных систем.

QDR-IV SRAM-память имеет встроенный блок обнаружения и коррекции ошибок (ECC), обеспечивающий целостность данных. Этот блок способен обработать все одноразрядные ошибки памяти, в том числе, вызванные космическими лучами и альфа-частицами. В результате модули памяти будут иметь коэффициент ошибок программ (SER) не более 0.01 сбоев/МБ. QDR-IV снабжена функцией программируемой чётности адреса, которая обеспечивает целостность данных на адресной шине.

Отличительные особенности QDR SRAM памяти:

  • Встроенный модуль коррекции ошибок обеспечивает целостность данных и исключает программные ошибки
  • Модули доступны в двух версиях: QDR-IV HP (скорость передачи данных 1334 Мтранз/с) и QDR-IV XP (скорость передачи данных 2132 Мтранз/с)
  • Два независимых двунаправленных порта данных памяти DDR1
  • Функция инверсии шины для снижения шумов при одновременном подключении линий ввода и вывода
  • Встроенная схема согласования (ODT) снижает сложность плат
  • Тренинг на перекос для улучшения временных характеристик захвата сигнала
  • Уровень сигналов ввода-вывода: от 1.2В до 1.25В (высокоскоростная приёмопередающая логика (HSTL)/терминированная логика (SSTL)), от 1.1В до 1.2В (POD2)
  • 361-выводной корпус FCBGA3
  • Разрядность шины: x18, x36 бит
Читать дальше →

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Reading time15 min
Views110K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity