Действия кнопок управления питанием по крайней мере как-то настраиваются, а вот что делать с другими дизайнерами, которые поместили кнопки управления питанием на место PrtSc/ScrLk/Pause, а клавиши, которые им «помешали», переместили вниз до упора в стрелки…
Ещё попадались дизайнеры, решившие, что клавиша Insert на клавиатуре не нужна, и сделавшие на её месте Delete двойной высоты. Причём ладно бы это происходило на ноутбуке, где недостающие клавиши в крайнем случае обычно доступны через комбинации с Fn, так они додумались такое сделать на полноразмерной клавиатуре без Fn.
(Хотя сейчас и на ноутбуках иногда забывают делать эмуляцию всех клавиш полноразмерной клавиатуры — например, клавишу Pause удаётся найти не всегда.)
Ну вот на той BTC 9000A у меня левый Shift блестит относительно равномерно по всей поверхности, при том, что в раскладке ISO он примерно в 2 раза меньше (ANSI — 2.25U, ISO — 1.25U, как у Ctrl/Win/Alt стандартного размера), следовательно, примерно половина нажатий попала бы не туда. Понятно, что ко всему можно привыкнуть, но в процессе привыкания явно придётся поматериться. Видимо, дело ещё в том, что работать значительное время на клавиатуре с укороченным левым Shift мне не приходилось — так уж повезло (а вот варианты расположения \ довелось перепробовать как раз все 4 — попался и странный вариант с большим левым Shift и ISO Enter).
«Нужность» цифровой клавиатуры там тоже отчётливо прослеживается — какие-то следы использования остались разве что на правом краю Enter (те самые нажатия большим пальцем, не снимая руки с мыши).
Я задействовал для этой цели клавишу Caps Lock (grp:shift_caps_switch — Caps Lock переключает на английскую раскладку, Shift+Caps Lock — на русскую; вот если возникнет необходимость в третьей раскладке, придётся что-то придумывать). Правда, в Windows сделанный для этой цели костыль через Autohotkey работает не всегда, и в последних версиях GNOME этот старый механизм тоже пытаются разломать (переключение работает, а вот индикатор раскладки на экране не обновляется).
У меня на старой клавиатуре BTC 9000A, видимо, самый редко встречающийся вариант:
А за ISO Enter некоторые, наоборот, гоняются, но по стандарту он используется одновременно с укороченным левым Shift, рядом с которым вставлена дополнительная клавиша, и вот эту часть ISO-раскладки многие люто ненавидят. Впрочем, изредка можно найти и готовые клавиатуры с ISO Enter, но с длинным левым Shift.
Если подобные символы требуется вводить постоянно, логичным решением будет установка, например, типографской раскладки Ильи Бирмана, с которой такие символы можно будет вводить ещё быстрее.
На самом деле ограничения Let's Encrypt описаны на странице https://letsencrypt.org/docs/rate-limits/. На момент написания этого комментария на выпуск сертификатов действовали следующие ограничения:
Выпуск сертификата, список имён в котором в точности совпадает со списком имён в другом действующем сертификате, выданном Let's Encrypt — не более 5 штук в течение 7 суток.
Выпуск сертификата, список имён в котором не совпадает ни с одним другим сертификатом, выданным Let's Encrypt — не более 50 штук в течение 7 суток для зарегистрированного домена (определяется с учётом Public Suffix List); это ограничение может быть повышено по специальному запросу. До марта 2019 года это ограничение действовало и на перевыпуск сертификатов, но теперь для перевыпуска действует только первое ограничение.
При использовании ACME v2 с одной учётной записи можно отправлять не более 300 запросов на выдачу сертификата в течение 3 часов.
Как ни удивительно, похоже, в данном случае программисты не смогли правильно реализовать вроде бы простейшую операцию — «длинное» сложение: в некоторых случаях неправильно обрабатывается перенос в старшую часть числа.
1) Astra Linux Directory — собственная реализация, единственная, которая полностью поддерживает мандатный контроль доступа, имеющийся в Astra Linux SE;
2) FreeIPA — этот вариант разработчики Astra Linux рекомендуют использовать, если нет необходимости в мандатном контроле доступа;
Это верно далеко не для всех раскладок клавиатуры (в том числе и для языков на базе латиницы — см., например, множество национальных вариантов QWERTY, а ведь есть ещё вариации QWERTZ и AZERTY).
В случае с Vim есть ещё вариант «войти в визуальный режим (v / V / ^V), выделить нужный текст, выполнить операцию» — с одной стороны, это позволяет перед выполнением операции убедиться в том, что выделено именно то, что нужно, с другой стороны, в случае, если для выделения достаточно одной команды движения, это значит, что нажатие v было лишним. Хотя привычка использовать v и V мешает, если приходится редактировать что-то в среде, где полноценный Vim недоступен, а есть только базовый vi.
В репозитории F-Droid все приложения из набора Simple Mobile Tools по-прежнему доступны бесплатно (но с точки зрения Android это будет «установка из стороннего источника», и переход между версиями из F-Droid и Google Play возможен только через удаление приложения и установку заново из-за несовпадения ключей подписи).
Похожая ситуация с приложением Conversations, но в этом случае версия из F-Droid отличается отсутствием поддержки Push-сообщений, доставляемых через службы Google/Firebase.
Теоретически существует возможность скрыть имя хоста при подключении по HTTPS (от видимости IP-адреса уйти, разумеется, нельзя, но при использовании CDN один и тот же IP-адрес может использоваться для множества имён):
В протоколе TLS 1.3, в отличие от предыдущих версий TLS, сертификат сервера передаётся в зашифрованном виде.
В Guix в описанном случае в описании пакета X может быть указано явное использование A версии 1.0, и пакет продолжит собираться и работать так же, как и раньше (в том числе со всеми ошибками и проблемами безопасности, присутствовавшими в A 1.0). Теоретически такое возможно и в обычном rpm-based или deb-based дистрибутиве, если мантейнер пакета A вместо простого обновления пакета A с версии 1.0 до 2.0 создаст отдельные пакеты A1 и A2 (и к ним, скорее всего, A1-devel и A2-devel), однако в Guix подобное «размножение» пакетов происходит само собой — при любом изменении в исходных текстах, скриптах сборки или других используемых при сборке пакетах меняется и хеш собираемого пакета, в результате новая сборка помещается в отдельный каталог в /gnu/store, где может существовать одновременно с любым количеством предыдущих сборок того же пакета. В бинарных файлах пакетов X и Y при их сборке прописываются конкретные пути в /gnu/store, указывающие на точную версию их зависимостей, в результате они могут использовать разные версии пакета A, даже если разделяемые библиотеки в этих версиях по каким-то причинам имеют одинаковые soname (в обычных дистрибутивах такое возможно только при различных soname).
В WoW точно нет механики покупки старкрафта и апгрэйда новых аккаунтов до последних дополнений :)
Уже почти два года как есть — купленный за игровое золото жетон WoW можно либо потратить на 30 дней подписки, либо конвертировать в средства кошелька Battle.net (в кошелёк добавляется сумма, равная стоимости 30 дней подписки в стране игрока), а уже с кошелька Battle.net можно купить всё, что продаётся в магазине Battle.net (в том числе и другие доступные там игры).
Домен .local на самом деле довольно давно занят — он используется в Multicast DNS (RFC 6762). В Windows из коробки клиент Multicast DNS отсутствует, а вот в Mac OS X и многих дистрибутивах Linux он есть, и в этом случае при попытке использования имён из домена .local для своих собственных целей могут возникать проблемы.
Домены верхнего уровня .lan, .corp, .home сейчас свободны и теоретически могли бы быть кем-то зарегистрированы, как и .dev, однако вероятность этого довольно мала, поскольку такие имена слишком часто используются в локальных сетях. В феврале 2018 года ICANN отклонила заявки на регистрацию доменов .corp, .home и .mail как раз из-за возможных проблем безопасности по причине конфликтов имён.
.invalid для этой цели тоже использовать нельзя — в RFC 6761 написано, что запросы имён из .invalid могут обрабатываться специальным образом и в приложениях, и в библиотеке резолвера (как и .localhost). Так что, если действовать строго по букве RFC, остаётся использовать либо оставшиеся зарезервированные домены .test или .example, либо субдомен в официально зарегистрированном домене (типа .dev.contoso.com; разумеется, показывать такой субдомен всему миру в глобальном DNS совсем не обязательно).
Можно уничтожать приватный ключ CA сразу после подписывания сертификата сервера; в этом случае сертификат сервера можно будет продолжать использовать до истечения его срока действия, но сформировать другой сертификат сервера будет уже нельзя без создания нового сертификата CA и добавления его в хранилище доверенных сертификатов.
Теоретически можно реализовать и вариант с возможностью последующего создания сертификатов только для имён из определённого домена, если сгенерировать промежуточный CA с нужными Name Constraints — в этом случае утечка приватного ключа такого промежуточного CA не даст злоумышленнику возможности создать доверенные сертификаты для произвольного домена.
Действия кнопок управления питанием по крайней мере как-то настраиваются, а вот что делать с другими дизайнерами, которые поместили кнопки управления питанием на место PrtSc/ScrLk/Pause, а клавиши, которые им «помешали», переместили вниз до упора в стрелки…
Ещё попадались дизайнеры, решившие, что клавиша Insert на клавиатуре не нужна, и сделавшие на её месте Delete двойной высоты. Причём ладно бы это происходило на ноутбуке, где недостающие клавиши в крайнем случае обычно доступны через комбинации с Fn, так они додумались такое сделать на полноразмерной клавиатуре без Fn.
(Хотя сейчас и на ноутбуках иногда забывают делать эмуляцию всех клавиш полноразмерной клавиатуры — например, клавишу Pause удаётся найти не всегда.)
Ну вот на той BTC 9000A у меня левый Shift блестит относительно равномерно по всей поверхности, при том, что в раскладке ISO он примерно в 2 раза меньше (ANSI — 2.25U, ISO — 1.25U, как у Ctrl/Win/Alt стандартного размера), следовательно, примерно половина нажатий попала бы не туда. Понятно, что ко всему можно привыкнуть, но в процессе привыкания явно придётся поматериться. Видимо, дело ещё в том, что работать значительное время на клавиатуре с укороченным левым Shift мне не приходилось — так уж повезло (а вот варианты расположения
\
довелось перепробовать как раз все 4 — попался и странный вариант с большим левым Shift и ISO Enter).«Нужность» цифровой клавиатуры там тоже отчётливо прослеживается — какие-то следы использования остались разве что на правом краю Enter (те самые нажатия большим пальцем, не снимая руки с мыши).
Я задействовал для этой цели клавишу Caps Lock (
grp:shift_caps_switch
— Caps Lock переключает на английскую раскладку, Shift+Caps Lock — на русскую; вот если возникнет необходимость в третьей раскладке, придётся что-то придумывать). Правда, в Windows сделанный для этой цели костыль через Autohotkey работает не всегда, и в последних версиях GNOME этот старый механизм тоже пытаются разломать (переключение работает, а вот индикатор раскладки на экране не обновляется).У меня на старой клавиатуре BTC 9000A, видимо, самый редко встречающийся вариант:
А за ISO Enter некоторые, наоборот, гоняются, но по стандарту он используется одновременно с укороченным левым Shift, рядом с которым вставлена дополнительная клавиша, и вот эту часть ISO-раскладки многие люто ненавидят. Впрочем, изредка можно найти и готовые клавиатуры с ISO Enter, но с длинным левым Shift.
Если подобные символы требуется вводить постоянно, логичным решением будет установка, например, типографской раскладки Ильи Бирмана, с которой такие символы можно будет вводить ещё быстрее.
Вот только на самом деле 6 голов было у Сциллы.
На самом деле ограничения Let's Encrypt описаны на странице https://letsencrypt.org/docs/rate-limits/. На момент написания этого комментария на выпуск сертификатов действовали следующие ограничения:
Похоже, ссылка «Знаменитая реализация Дегтярева» в статье неверная — она указывает на https://github.com/be1ay/MyHash_Stribog (причём там как раз лежит код с ошибкой), однако, скорее всего, имелся в виду репозиторий https://github.com/adegtyarev/streebog.
Как ни удивительно, похоже, в данном случае программисты не смогли правильно реализовать вроде бы простейшую операцию — «длинное» сложение: в некоторых случаях неправильно обрабатывается перенос в старшую часть числа.
В реализации Дегтярева проблема устранена в декабре 2017 года, а позднее код слегка оптимизирован.
В gost-engine для OpenSSL проблема исправлена в марте 2018 года (исправление совпадает с первым вариантом патча для реализации Дегтярева).
В LibreSSL ошибка пока на месте, в libgcrypt эта ошибка тоже присутствует (у этих проектов соответствующий кусок кода совпадает, и существенно отличается от реализации Дегтярева).
Там их даже не один, а три:
1) Astra Linux Directory — собственная реализация, единственная, которая полностью поддерживает мандатный контроль доступа, имеющийся в Astra Linux SE;
2) FreeIPA — этот вариант разработчики Astra Linux рекомендуют использовать, если нет необходимости в мандатном контроле доступа;
3) Samba.
Это верно далеко не для всех раскладок клавиатуры (в том числе и для языков на базе латиницы — см., например, множество национальных вариантов QWERTY, а ведь есть ещё вариации QWERTZ и AZERTY).
В случае с Vim есть ещё вариант «войти в визуальный режим (
v
/V
/^V
), выделить нужный текст, выполнить операцию» — с одной стороны, это позволяет перед выполнением операции убедиться в том, что выделено именно то, что нужно, с другой стороны, в случае, если для выделения достаточно одной команды движения, это значит, что нажатиеv
было лишним. Хотя привычка использоватьv
иV
мешает, если приходится редактировать что-то в среде, где полноценный Vim недоступен, а есть только базовый vi.В репозитории F-Droid все приложения из набора Simple Mobile Tools по-прежнему доступны бесплатно (но с точки зрения Android это будет «установка из стороннего источника», и переход между версиями из F-Droid и Google Play возможен только через удаление приложения и установку заново из-за несовпадения ключей подписи).
Похожая ситуация с приложением Conversations, но в этом случае версия из F-Droid отличается отсутствием поддержки Push-сообщений, доставляемых через службы Google/Firebase.
Теоретически существует возможность скрыть имя хоста при подключении по HTTPS (от видимости IP-адреса уйти, разумеется, нельзя, но при использовании CDN один и тот же IP-адрес может использоваться для множества имён):
В Guix в описанном случае в описании пакета X может быть указано явное использование A версии 1.0, и пакет продолжит собираться и работать так же, как и раньше (в том числе со всеми ошибками и проблемами безопасности, присутствовавшими в A 1.0). Теоретически такое возможно и в обычном rpm-based или deb-based дистрибутиве, если мантейнер пакета A вместо простого обновления пакета A с версии 1.0 до 2.0 создаст отдельные пакеты A1 и A2 (и к ним, скорее всего, A1-devel и A2-devel), однако в Guix подобное «размножение» пакетов происходит само собой — при любом изменении в исходных текстах, скриптах сборки или других используемых при сборке пакетах меняется и хеш собираемого пакета, в результате новая сборка помещается в отдельный каталог в
/gnu/store
, где может существовать одновременно с любым количеством предыдущих сборок того же пакета. В бинарных файлах пакетов X и Y при их сборке прописываются конкретные пути в/gnu/store
, указывающие на точную версию их зависимостей, в результате они могут использовать разные версии пакета A, даже если разделяемые библиотеки в этих версиях по каким-то причинам имеют одинаковые soname (в обычных дистрибутивах такое возможно только при различных soname).Уже почти два года как есть — купленный за игровое золото жетон WoW можно либо потратить на 30 дней подписки, либо конвертировать в средства кошелька Battle.net (в кошелёк добавляется сумма, равная стоимости 30 дней подписки в стране игрока), а уже с кошелька Battle.net можно купить всё, что продаётся в магазине Battle.net (в том числе и другие доступные там игры).
Домен
.local
на самом деле довольно давно занят — он используется в Multicast DNS (RFC 6762). В Windows из коробки клиент Multicast DNS отсутствует, а вот в Mac OS X и многих дистрибутивах Linux он есть, и в этом случае при попытке использования имён из домена.local
для своих собственных целей могут возникать проблемы.Домены верхнего уровня
.lan
,.corp
,.home
сейчас свободны и теоретически могли бы быть кем-то зарегистрированы, как и.dev
, однако вероятность этого довольно мала, поскольку такие имена слишком часто используются в локальных сетях. В феврале 2018 года ICANN отклонила заявки на регистрацию доменов.corp
,.home
и.mail
как раз из-за возможных проблем безопасности по причине конфликтов имён..invalid
для этой цели тоже использовать нельзя — в RFC 6761 написано, что запросы имён из.invalid
могут обрабатываться специальным образом и в приложениях, и в библиотеке резолвера (как и.localhost
). Так что, если действовать строго по букве RFC, остаётся использовать либо оставшиеся зарезервированные домены.test
или.example
, либо субдомен в официально зарегистрированном домене (типа.dev.contoso.com
; разумеется, показывать такой субдомен всему миру в глобальном DNS совсем не обязательно).Можно уничтожать приватный ключ CA сразу после подписывания сертификата сервера; в этом случае сертификат сервера можно будет продолжать использовать до истечения его срока действия, но сформировать другой сертификат сервера будет уже нельзя без создания нового сертификата CA и добавления его в хранилище доверенных сертификатов.
Теоретически можно реализовать и вариант с возможностью последующего создания сертификатов только для имён из определённого домена, если сгенерировать промежуточный CA с нужными Name Constraints — в этом случае утечка приватного ключа такого промежуточного CA не даст злоумышленнику возможности создать доверенные сертификаты для произвольного домена.