3 Ответы
В данном руководстве не будет рассказано как инициализировать gpg2-ключ и пользоваться git.

Для начала нужен существующий gpg-ключ. О том, как его создать в Сети существует множество руководств, потому повторяться не буду (по крайней мере в данном руководстве; FIXME: если такое руководство появится на нашем форуме, ссылка появится здесь).

pass шифрует пароли (на самом деле любые файлы любого размера, но основная его функция, о чём говорит его название, — хранение паролей) с помощью gpg-ключа.

Чтобы увидеть свой ключ (в удобном формате), можно выполнить следующую команду:

Код:
gpg2 --keyid-format 0xlong --list-keys $(id -un) 2>/dev/null | awk '/^pub .* \[SC\].*/{print $2}' | sed 's@.*/@@'

Если команда ничего не выдала, можно заменить $(id -un) на свой email.

Чтобы указать pass, какой ключ нужно использовать, нужно сделать два шага: прописать в ~/.bashrc/~/.zshrc (TODO: добавить описание для fish):

Код:
export PASSWORD_STORE_KEY="0x0000000000000000" # Указать здесь свой ключ;
export PASSWORD_STORE_DIR="${HOME}/.password-store" # Или любая удобная директория, по умолчанию используется ${HOME}/.password-store;
export PASSWORD_STORE_CLIP_TIME="30" # Время в секундах, сколько пароль будет храниться в буфере обмена при копировании;

После этого нужно перезапустить bash/zsh, или выполнить одну из следующих команд (в зависимости от используемого шелла).

Для bash:

Код:
source ~/.bashrc

Для zsh:

Код:
source ~/.zshrc

После этого остаётся только инициализировать хранилище паролей:

Код:
pass init "${PASSWORD_STORE_KEY}"

Всё, можно пользоваться!

Чтобы убедиться, что всё работает, добавим новый пароль:

Код:
pass insert "site/user"

pass попросит ввести пароль дважды, по умолчанию ввод скрыт (как в login, su, sudo или ssh). В случае использования опции -e (pass insert -e "site/user"), пароль будет показан при вводе, и ввести его нужно будет только один раз.

---

В pass предусмотрен функционал версионирования с помощью git. Для того, чтобы пользоваться git внутри хранилища паролей, не требуется заходить (cd) в директорию с паролями и не нужно использовать git напрямую, pass может "передавать" команды git, то есть чтобы инициализировать git-репозиторий (git init), нужно выполнить:

Код:
pass git init

Если в хранилище уже были пароли, они будут автоматически добавлены в версионирование.

После этого pass будет самостоятельно коммитить каждое изменение.

Также можно настроить удалённый репозиторий (FIXME: это относится к git, и потому описано здесь не будет) и периодически делать pass git push.
8 Ответы
Valve опубликовала документацию к новому Steam Controller со сменными элементами. Судя по изображениям в документации, элементы можно снимать и заменять на другие. Интересно то, что производство первой версии Steam Controller сняли с производства в 2019 году, а документы на новую версию геймпада подали в сентябре того же года.

   
14 Ответы
Данный пост создан для вопросов и рекомендаций по таким темам, как музыка, фильмы, книги и т.д.. В комментариях вы можете спросить или порекомендовать что-нибудь.
1 Ответы


Unigine - российский игровой движок от компании UNIGINE Corp.

Сегодня вместе с выпуском Unigine 2.11 стала доступна community-версия движка. Из ограничений этой версии: доход должен быть не более 100 тысяч долларов в год или разработка ведётся над некоммерческими проектами или в образовательных целях.

SDK поддерживается на платформах Microsoft Windows и GNU/Linux.

Из основных изменений новой версии:
  • Общая оптимизация производительности
  • Улучшенный ввод и управление окнами через SDL
  • Улучшены тени для частиц
  • Обновления компонентов C#

https://unigine.com/products/community/advantages
Нет ответов
Правила:
  • Читабельное оформление;
  • Старайтесь писать грамотно;
  • Отсутствие мата (за исключением цитирования оригинального текста, в этом случае ссылка на оригинал обязательна) в новости;

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

Оба списка могут быть дополнены или изменены.
Нет ответов
5 Апреля состоялся релиз Minetest 5.2.0. Minetest – это игровой движок жанра «песочница» со встраиваемыми играми.

**Основные нововведения/изменения:**

* Подсветка светлым цветом GUI кнопок при наведении курсора (визуальный фидбэк).
* Анимированные изображения в formspec\-интерфейсе (новый animated\_image\[\] элемент).
* Возможность представлять formspec\-контент в формате HTML (новый hypertext\[\] элемент).
* Новые функции/методы API: table.key\_value\_swap, table.shuffle, vector.angle и get\_flags.
* Улучшена инерция руки.
* Различные улучшения/багфиксы в CSM, formspec, Android\-версии.
* Устранены глюки после открепления объектов от других.
* Более реалистичная физика лодки.
* Новый нижний (четвертый) ряд слотов в творческом инвентаре игрока.
* Увеличены непрозрачность и скорость анимации воды.
* Папирус теперь генерируется в тропических болотах.
* Добавлены новые/изменены текущие переводы контента в Minetest Game на русском, итальянском, испанском, французском, шведском, малайском и китайском языках.

Полный список изменений можно посмотреть в: [https://dev.minetest.net/Changelog#5.1.0....92_5.2.0)

Скачать: [https://www.minetest.net/downloads/](htt...ownloads/)

Источник
Нет ответов
Вышла новая версия Crystal, компилируемого языка программирования с синтаксисом Ruby, главные особенности которого — рантайм с «вмонтированным» event loop’ом, в котором все операции ввода-вывода асинхронны, поддержка многопоточности (пока включается флагом при компиляции) и исключительно простая и удобная работа с библиотеками на Си.

Начиная с версии 0.34.0, язык официально начинает твёрдой поступью двигаться в сторону первого настоящего релиза (т.е. версии 1.0).
В новой версии Crystal можно отметить следующие изменения и улучшения в порядке их важности:
  • В API добавлена новая библиотека журналирования Log, которая, в отличие от старой, умеет направлять сообщения в разные бекенды и по-разному эти сообщения фильтровать в зависимости от «источника».
  • Рудименты из мира разработки на Си, Errno и WinError, использовавшиеся для примитивов ввода-вывода, уходят в прошлое благодаря иерархии исключений IO::Error (впрочем, использовать Errno никто пока не запрещает).
  • Убрана автоматическая подстановка else nil из оператора case/when/else. Это сделано для того, чтобы исключить случайный пропуск разработчиком одной из веток when при матчинге по детерминированным случаям наподобие enum’ов и прохода по типам из Union’а. Т.е., проще говоря, вот такой код больше работать не будет без указания ещё одного when (when Char) или задания else-ветки:
    Код:
    a = 1 || 'x' || "foo"
    case a
    when Int32
        # ...
    when String
        # ...
    end
  • Опция компилятора disable_overflow больше недоступна. Для операций с переполнением используйте методы &+, &-, &*.
  • Array#fill теперь летает быстрее пули, благодаря замене туповатого цикла на один простой memset;
  • Менеджер шардов (пакетов), называющихся, как это ни парадоксально, shards, теперь использует более быстрый и эффективный алгоритм удовлетворения зависимостей Molinillo, подсмотренный в CocoaPods (Swift) и Builder (Ruby).
  • Добавлена поддержка LLVM 10, что по идее даст нам некий рост производительности, стабильности, etc.

… и множество других, на мой субъективный взгляд, менее существенных улучшений.

Анонс в блоге Crystal

Источник
Нет ответов
Представлен релиз языка системного программирования Nim 1.2. Язык Nim использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT.

Среди заметных изменений в новом выпуске:
  • Реализован новый сборщик мусора ARC ("--gc:arc").
  • В модуль "sugar" добавлены новые макросы collect, dup и capture.
  • Добавлен новый макрос "with".
  • Внесена большая порция новых вызовов в стандартную библиотеку, включая strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay, net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt и т.д.
  • Добавлены новые модули std/stackframes и std/compilesettings.
  • В компилятор добавлены опции "--asm" (для анализа генерируемого ассемблерного кода) и "--panics:on" для принудительного выхода при ошибках IndexError и OverflowError, без возможности перехвата обработчиком "try".
  • Ускорено определение возможных переполнений буферов.

Источник
1 Ответы
Ноутбук использует открытую прошивку с Coreboot и EDK2. Для установки предлагаются Pop!_OS и Ubuntu. Заявленное время работы от батареи - 14 часов.

Характеристики базовой модели:
  • Процессор Intel Core i5 10210U
  • 8GB оперативной памяти DDR4
  • SSD 240 ГБ

Цена базовой модели составляет $1099.

https://system76.com/laptops/lemur