Рубрика «Блог компании RUVDS.com» - 113

Виртуальная АТС. Часть 2: Решаем проблемы безопасности с Asterisk и настраиваем звонки - 1


В предыдущей статье мы рассмотрели простую установку IP АТС (IP PBX) Asterisk 16 из штатного репозитория на виртуальный сервер RuVDS с Ubuntu 20.04. В такой конфигурации выставлять службу VoIP на всеобщее обозрение не стоит: необходимо сделать дополнительные настройки, связанные в том числе с информационной безопасностью. Читать полностью »

Статические методы Atomics.wait() и Atomics.notify() представляют собой низкоуровневые примитивы синхронизации, которые можно применять для реализации мьютексов и других подобных механизмов. Но, так как метод Atomics.wait() является блокирующим, его нельзя вызывать в главном потоке (если попытаться это сделать — будет выдана ошибка TypeError).

Движок V8, начиная с версии 8.7, поддерживает неблокирующий вариант Atomics.wait(), называемый Atomics.waitAsync(). Этим новым методом можно пользоваться в главном потоке.

Использование Atomics.wait(), Atomics.notify() и Atomics.waitAsync() - 1

Сегодня мы расскажем о том, как применить эти низкоуровневые API для создания мьютекса, который может работать и в синхронном режиме (в потоках воркеров) и асинхронно (в потоках воркеров или в главном потоке).
Читать полностью »

Низкоуровневое программирование микроконтроллеров tinyAVR 0-series - 1

Вы — 8-битный или 32-битный программист? Мы, в компании OMZLO, сосредоточили основные усилия на новых 32-битных ARM Cortex-чипах (STM32 и SAMD), которые, в сравнении с более старыми 8-битными микроконтроллерами (Micro Controller Unit, MCU) обычно предлагают больше RAM, более высокую производительность, поддержку большего количества периферийных устройств. И всё это — за ту же, или за более низкую цену. Но 8-битные MCU ещё не утратили своей актуальности. В частности, компания Microchip выпустила новую серию чипов, «tinyAVR 0-series», которые, в сравнении с AVR-чипами, выпущенными ранее, дают возможность работать с более современной периферией. Новые чипы, при этом, отличаются весьма привлекательной ценой. Возникает такое ощущение, что эти чипы отлично подойдут для разработки простых устройств, которым не нужны те возможности, что предлагают более новые 32-битные MCU. 8-битные микроконтроллеры, кроме того, значительно легче программировать, что приводит к увеличению скорости разработки программной части устройств, создаваемых на их основе.

Благодаря успеху Arduino UNO в интернете можно найти множество руководств, разъясняющих особенности программирования 8-битных микроконтроллеров ATmega328 и их собратьев вроде ATtiny85. Речь идёт о прямом доступе к регистрам без использования языка программирования, используемого для Arduino, и без применения IDE, созданных производителями чипов, вроде Atmel Studio. Чтобы в этом убедиться — просто поищите в Google по словам «atmega328 blinky». Для программирования микроконтроллеров вам понадобится лишь C-компилятор для AVR, текстовой редактор, avrdude и AVR-программатор. На некоторых ресурсах даже можно найти руководства, посвящённые тому, как, пользуясь универсальными макетными платами, «завести» ATmega328. Правда, если говорить о более новых чипах tinyAVR 0-series, по ним найти информацию такого рода непросто.
Читать полностью »

Двадцать пятого сентября прошёл прямой фир с Американом МакГи — легендарным геймдизайнером, создателем American McGee’s Alice. Кроме Алисы, Американ также работал над ландшафтами в играх Doom и Quake с Джоном Кармаком и Джоном Ромеро.
Делимся с вами расшифровкой и записью интервью. Читать полностью »

Мне удалось раздобыть старые ведомые часы, которые, если судить по их серийному номеру, выпущены в 1960-х годах. Это — Pragotron PJ 27, версия на 12В. Они были сделаны в Чехословакии, в них используется механизм PS-1.

Разработка ведущих часов для Pragotron PJ 27 базе ESP32 с синхронизацией времени по NTP - 1


Ведомые часы

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

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

Как Нетфликс использует нейросетки при создании сериалов - 1

Любой, кто имеет хотя бы отдаленное представление о производстве кино, уже сейчас может смеяться. После череды скандалов под флагом #metoo, в ходе которых продолжает вскрываться глубоко коррумпированное устройство Голливуда и прилегающих пространств, сложно принять всерьез рассказы в духе «Стар Трека» о переливающихся инструментах для бюджетирования. Рассказы эти, к тому же, напрочь лишены конкретики – Нетфликс известен своим нежеланием раскрывать реальные рейтинги своих продуктов, поэтому подсказывать художественные решения их производителям с таким же успехом может шестигранный кубик. Что, конечно, не означает, что работа в этом направлении не ведется. Более того, не только Нетфликс и другие гиганты, но и небольшие компании пытаются выстраивать свою бизнес-модель на машинных предсказаниях. Читать полностью »

Делаем музыкальный инструмент из кассетного плеера - 1


Кассетный синтезатор

Мне нравятся необычные музыкальные проекты. Например, я выпустил альбом, основанный на записях, сделанных NASA во время миссии «Аполлон-12». А недавно я, для управления темпом музыки, использовал собственное сердцебиение. Результаты моих музыкальных экспериментов вы можете найти здесь.

Недавно я сделал из старого кассетного плеера, напоминающего Walkman от Sony, синтезатор, управляемый MIDI-командами. Для этого мне понадобилась плата Arduino и немного кода. То, что получилось, можно назвать «кассетным синтезатором».Читать полностью »

В последнее десятилетие достигнуты значительные успехи в сфере разработки инструментов непрерывной интеграции (Continuous Integration, CI) и непрерывного развёртывания (Continuous Delivery, CD). Развитие технологий интеграции разработки и эксплуатации ПО (Development Operations, DevOps) привело к быстрому росту спроса на CI/CD-инструменты. Существующие решения постоянно улучшаются, стремясь идти в ногу со временем, выходят их новые версии, в мире контроля качества ПО (Quality Assurance, QA) постоянно появляется множество новых продуктов. При таком богатстве выбора подбор подходящего инструментария оказывается нелёгкой задачей.

Битва Jenkins и GitLab CI-CD - 1

Среди всех существующих CI/CD инструментов существуют два проекта, на которые, определённо, стоит обратить внимание тому, кто ищет что-то из этой сферы. Речь идёт о Jenkins и об инструменте GitLab CI/CD, который является частью платформы GitLab. У Jenkins имеется более 16000 звёзд на GitHub. Репозиторий GitLab на gitlab.com набрал чуть больше 2000 звёзд. Если сравнить популярность репозиториев, то окажется, что Jenkins набрал в 8 раз больше звёзд, чем платформа, в состав которой входит GitLab CI/CD. Но при выборе CI/CD-инструмента это — далеко не единственный показатель, на который стоит обращать внимание. Есть и масса других, и это объясняет то, что во многих сравнениях Jenkins и GitLab CI/CD оказываются очень близко друг к другу.
Читать полностью »

Анонс: Как организовать IT-конференцию и не сойти с ума - 1

Завтра, в 20:00 в наших соцсетях выступит Наталья Крапкина (больше известная как Кейт или
ladynoname), одна из организаторов конференции Chaos Constructions.

Наташа создает курирует IT-сообщества в Петербурге: ITGM 14, митапы DevOps40, MonHouse, и работает как идейный вдохновитель программистских коммьюнити.

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

Стрим можно будет посмотреть в любых наших соцсетях — где удобно, там и смотрите.

Анонс: Как организовать IT-конференцию и не сойти с ума - 2Анонс: Как организовать IT-конференцию и не сойти с ума - 3Анонс: Как организовать IT-конференцию и не сойти с ума - 4Анонс: Как организовать IT-конференцию и не сойти с ума - 5
Читать полностью »

Сыграем в DOOM на серверах - 1

У меня возникла безумная идея – это сыграть в классический DOOM по сети установленный на VPS под управлением Windows. В целом, это задумывалось как тестирование новых фич, которые мы внедряем: клонирование серверов и разворачивание локальной сети. Да, и на самом деле, это круто сыграть в DOOM прямо на серверах, особенно после просмотра баек от Джона Ромеро было невозможно не поиграть в легенду компьютерных игр.
Давайте посмотрим, что же из этого получилось, с какими проблемами столкнулся и как их решили. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js