Как стать Диджеем
В традиционном диджеинге, регулировка темпа и тональности трека были неразрывно связаны друг с другом — ускорение или замедление аудио дорожки неизбежно приводит к изменению её тональности. При подстройке темпа песни на 6%, изменения тональности равняются перемещению ключа на одну клавишу в том же направлении. То есть, увеличивая скорость на 6%, тональность трека меняется с F на GB, а при замедлении на 6%, тональность поменяется с F на E. См. аудио пример ниже.


Virtual DJ 7 продолжает показывать свои недоработки в этой области — в то время как Key Lock остаётся включенным на протяжения всего теста, вы начинаете слышать артефакты (цифровые шумы) гораздо раньше, чем в любом другом программном обеспечении.
тут блог
Общественные обязательства интроверта.
Сообщения на ИТ тематику, но не обязательно.
О Keycloak
Есть такая штука. Называется Keycloak. Это не то, что вы подумали, а плащ или мантия, типа для ключей, или «ключевая мантия». Это сервер для Single-Sing-On (SSO), и для хранения учётных записей, и для всего такого, связанного с аутентификацией и авторизацией. Это — часть JBoss, который, оказывается, теперь называется WildFly, сервера приложений (Java EE) от RedHat. Кажется, это самый популярный среди свободных сервер SSO. Потому что на нас одновременно свалилось аж два с половиной проекта, где для авторизации юзеров используется именно Keycloak.
Keycloak умеет OpenID Connect (aka OIDC) и SAML (aka Security Assertion Markup Language).
SAML — это привет из начала двухтысячных на считающимся ныне монструозным XML. Близкий друг действительно монструозного SOAP. Но теперь строить API на XML не модно. Поэтому забудем про SAML.
OpenID Connect будет поинтереснее. Он не имеет ничего общего с протоколами OpenID версий 1.1 и 2.0. Точнее, если верить Википедии, это следующая версия OpenID. И построено оно поверх OAuth 2.0.
OpenID Connect — это конкретный протокол аутентификации, построенный поверх фреймворка авторизации OAuth 2.0.
Помните, OAuth 2.0 — это лишь фреймворк. Там не прописано чётко, какими должны быть токены, как именно их получать, и прочие мелкие детали. Вот OpenID Connect эти детали конкретизирует. И у нас даже есть конкретная реализация: Keycloak.
Keycloak сервер — весь такой multitenancy. На нём положено создавать Realms — независимые пространства со своими юзерами, группами, ролями, ключами, страницами авторизации и клиентами. Клиентами (clients) в смысле OAuth, со своим ClientID и Redirect URI.
Если у нас есть Realm и мы знаем, где находится Keycloak, можно попробовать поавторизоваться. Есть у нас чётко определённый набор Endpointов, с которых можно начать. И их список тоже можно получить.
Как положено в OAuth, попробуем получить токен.
В ответ нам выдадут форму логина, которая ставит кучку куки. В общем, логично.
В ответ будет подобная же форма логина.
Ну типа почти обычный OAuth 2.0. Только нам точно известно, куда ходить за логином, где получать токен, где спрашивать сведения о пользователе.
Более того, токены у нас подписаны RSA ключом. И мы можем получить публичный ключ для их проверки.
В OpenID Connect, как положено, имеется Access Token, который нужно включать в заголовок Authorization, чтобы получить те же сведения о пользователе, и Refresh Token, который нужен для обновления Access Token. А ещё есть ID Token.
Именно ID Token является JWT токеном, который можно проверить публичным RSA ключом. И именно там содержатся некоторые сведения о пользователе. Можно не делать дополнительных запросов на Keycloak, а сразу извлечь всё, что надо, из ID Token.
На самом деле, все эти curlы вам не понадобятся. Ибо политикой Keycloak является использование адаптеров. То есть библиотек для ваших любимых языков программирования или middleware для ваших любимых веб фреймворков. Берёте нужный адаптер, настраиваете его JSON файлом, который можно скачать прямо в настройках клиента в админке Keycloak, и пользуетесь.
Если адаптера для Keycloak не нашлось, вполне может сгодиться адаптер для просто OpenID Connect. Их много, для разных языков (например, для Go).
Если у вас, допустим, есть какой-то UI на React, то вам достаточно подключить адаптер, и позаботиться о логине в нужный момент, и обновлении токенов, например, по таймеру.
Потом этот токен из Keycloak можно вставлять в заголовки запросов к API. А API уже будет проверять валидность этого токена.
Если взять адаптер для Spring Boot, то достаточно его подключить:
И всё. Эта магия работает.
Не нравится мне, когда такие довольно сложные для понимания штуки, как всякие токены, где, чтобы разобраться во всём, нужно нарисовать не одну диаграмму последовательностей, полностью закрываются очень простым фасадом. А если что-нибудь сломается, как выяснять, в чём проблема?
5 приложений для блокировки мыши и клавиатуры
Если вы планируете заняться важной работой на компьютере и вокруг стола периодически бегают дети, наверняка вы захотите защитить устройство от них. Конечно, можно заблокировать сам компьютер целиком, но есть и другой вариант — это блокировщики клавиатуры и мыши.
BlueLife KeyFreeze
BlueLife KeyFreeze — это бесплатный блокировщик клавиатуры и мыши для Windows. Его очень легко использовать: после загрузки и установки нажмите Ctrl + Alt + F . Мышь и клавиатура сразу же будут отключены. Чтобы разблокировать их, просто снова используйте сочетание клавиш Ctrl + Alt + F .

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

Keyboard and Mouse Locker
Keyboard and Mouse Locker предназначен для того, чтобы помочь пользователям Windows заблокировать клавиатуру и мышь с помощью одной кнопки. При первой загрузке и установке приложения вас приветствует чистый и интуитивно понятный дизайн, отображающий некоторые параметры конфигурации:
- Нажмите кнопку «Lock Keyboard and Mouse Now», отображаемую на экране.
- Чтобы разблокировать блокировку клавиатуры и мыши, одновременно нажмите Ctrl + Alt + Del, а затем нажмите кнопку Esc.
Обратите внимание, нельзя активировать режим блокировки клавиатуры и мыши по отдельности. Только одновременно.

Единственный недостаток Keyboard и Mouse Locker — нельзя изменить или настроить горячую клавишу, кроме дефолтной. Положительным моментом является то, что он потребляет минимальные ресурсы процессора и, следовательно, не влияет на общую производительность компьютера.
Kid-Key-Lock
Эта бесплатная утилита блокирует определённые функции клавиатуры и мыши. После установки и запуска будет предложено выбрать ограничения, которые вы хотите применить. Все они могут быть легко настроены через интуитивно понятное окно программы.

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