Приложения и утилиты, которые стоит попробовать
Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…
( читать дальше... )
Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…
( читать дальше... )
Добрый день. Есть проблема с моими bluetooth наушниками в плазме. Когда я подключаю наушники к ноуту, Audio Volume показывает мои наушники. после отключения наушники из Audio Volume не пропадают, затем, когда я подключаю их ещё раз, то в Audio Volume появляются наушники ещё раз (https://imgur.com/nVSd9Fm), прчём в pavucontrol они пропадают, так же и в настройках Audio плазмы. Проблема решается командой systmectl --user restart pipewire
, но каждый раз её прописывать не вариант.
Как фиксить?
Вакансия: Linux developer
Вилка: от 180 000 net до 380 000 net + годовой бонус 2х оклада
Локация: Новоданиловская набережная 10, БЦ Даниловский форт (возможен гибрид - 3-4 дня удаленно)
О проекте:
SberLinux OS - это семейство современных RPM-base дистрибутивов, разработанный внутри группы компаний СБЕР, для решения задач серверных и контейнерных вычислений с использованием передовых технологий контейнеризации и виртуализации.
Если тебе интересно быть мейнтейнером дистрибутива ОС на базе ядра Linux и репозиториев, участвовать в интересных и сложных задачах подготовки релизов дистрибутива - тогда тебе пора к нам в команду.
Спектр задач:
создание собственного серверного RPM-base дистрибутива создание собственного дистрибутива для контейнерных нагрузок разработки системных утилит для GNU/Linux систем разработка собственной системны сборки дистрибутива сборка/дебаг RPM пакетов дебаг бинарников/скриптов входящих в дистрибутив, поиск багов на уровне системы написание вспомогательных скриптов на Python/Bash разбор зависимостей различных системных пакетов.
Для нас важно:
понимание общих принципов внутреннего устройства GNU/Linux систем понимание общих принципов контейнеризации/виртуализации/изоляции знание базовых алгоритмов и структур данных знание и опыт разработки на нативных/скриптовых языках программирования использование систем сборки знание систем контроля версий (Git)
Будет дополнительным преимуществом:
наличие опыта разработки под различные архитектуры (x86-64, ARM, …), кроскомпиляции участие в opensource community.
Готов ответить на все вопросы @dmiryy/DAKobzev@sberbank.ru
Вакансия: Release engineer
Вилка: от 180 000 net до 380 000 net + годовой бонус 2х оклада
Локация: Новоданиловская набережная 10, БЦ Даниловский форт (возможен гибрид - 3-4 дня удаленно
О продукте и команде:
SberLinux OS - это семейство современных RPM-base дистрибутивов, разработанный внутри группы компаний СБЕР, для решения задач серверных и контейнерных вычислений с использованием передовых технологий контейнеризации и виртуализации.
Если тебе интересно быть мейнтейнером дистрибутива ОС на базе ядра Linux и репозиториев, участвовать в интересных и сложных задачах подготовки релизов дистрибутива - тогда тебе пора к нам в команду.
О твоих задачах:
сборка RPM пакетов сборка релизов Linux дистрибутивов сборка инсталляторов поиск патчей для известных уязвимостей и ошибок upgrade существующих пакетов поддержание существующих репозиторией RPM и SRPM
Ты нам подходишь, если у тебя есть:
опыт администрирования Linux понимание принципов работы пакетных менеджеров знание Git умение писать скрипты на bash базовые знания Python
Будет плюсом:
опыт разработки на C/C++ понимание принципов контейнеризации/виртуализации
Готов ответить на все вопросы @dmiryy/DAKobzev@sberbank.ru
Чисто поржать, поцаны.
Опубликован исходный код начальной реализации развиваемой с нуля виртуальной машины, реализованной на русифицированном языке Си.
https://www.opennet.ru/opennews/art.shtml?num=58745
https://tvoygit.ru/stein47/russian-virtual-mashine/src/branch/devel-1
#вставка "ru_stdio.h"
#вставка <string.h>
#вставка "ansicode.h"
#вставка "opcode.h"
#вставка "vm.h" //Внешний интерфейс виртуальной машины
// Задачи проекта
цел main()
{
пчф(ЗЕЛЕНЫЙ_ТЕКСТ "Новый проект.\n" ОБЫЧНЫЙ_ТЕКСТ);
//в переменной типа ТВМ "упакована" вся внутреннее устройство ВМ:
// регистры, стек, память указатели и тд.
ТВМ* ВМ1 = создать_ВМ();
// программа состоящая их четырех тестовых инструкций.
б64 программа[4] = {цСЛОЖ, цВЫЧ, цУМН, СТОП} ;
//Программа загружается как массив байтов.
загрузить_ВМ(ВМ1,(симв*) программа, (симв*)((программа)+1));
старт_ВМ(ВМ1);
// освобождаем динамически выделенную память под ВМ.
закрыть_ВМ (ВМ1);
пчф("Виртуальная машина успешно завершила работу.\n Для завершения нажмите ВВОД");
чтз();
вернуть 0;
}
Время обновлять LLVM, LLVM сам себя не обновит!
В portage стабилизировали четырнадцатую версию, решил обновиться. И был крайне удивлён набором архитектур, планирующихся к установке.
LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE*) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-M68k)
Рядовому пользователю из этого многообразия чаще всего нужны llvm_targets_X86
и llvm_targets_AMDGPU
либо llvm_targets_NVPTX
. А остальное никак не используется, но неплохо так увеличивает время сборки.
Флаги прописаны в package.use
, и не трогались уже очень давно. Задаём вручную, непосредственно как префикс для emerge
— ноль реакции.
Ага! Если оно так себя ведёт — идём грепать профили (/usr/portage/profiles
) на предмет наличия llvm_targets
в use.force
либо в package.use.force
. Где и находим следующее непотребство:
/usr/portage/profiles/base/package.use.force
# Michał Górny <mgorny@gentoo.org> (2021-11-04) # Enable all LLVM targets unconditionally. Unfortunately, disabling # targets tend to break reverse dependencies (e.g. Rust) and we are yet # to find a clean way of resolving that. Compared to the damage # potential, the increase of build time is a minor problem. Users who # really insist of building a smaller system can un-force the flags # at their own responsibility. >=sys-devel/clang-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU >=sys-devel/clang-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF >=sys-devel/clang-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai >=sys-devel/clang-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips >=sys-devel/clang-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC >=sys-devel/clang-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc >=sys-devel/clang-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly >=sys-devel/clang-13.0.1_rc llvm_targets_X86 llvm_targets_XCore >=sys-devel/clang-14 llvm_targets_VE >=sys-devel/llvm-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU >=sys-devel/llvm-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF >=sys-devel/llvm-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai >=sys-devel/llvm-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips >=sys-devel/llvm-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC >=sys-devel/llvm-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc >=sys-devel/llvm-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly >=sys-devel/llvm-13.0.1_rc llvm_targets_X86 llvm_targets_XCore >=sys-devel/llvm-14 llvm_targets_VE
Очень странное решение, честно говоря, учитывая что Rust по умолчанию тянет свою собственную LLVM. Первый раз, за всё время общения с Gentoo, приходится вообще трогать package.use.force
.
Отключается просто: (НА СВОЙ СТРАХ И РИСК!) прописываем в /etc/portage/profile/package.use.force
всё вышеупомянутое, но флаги предваряем знаком «минус».
Наслаждаемся ощущением отстреленной ноги, несобирающегося Rust (не проверял) и сократившимся временем сборки LLVM и Clang.
Срок действия сертификата SSL, используемого ПАО Сбербанк для защиты своих сервисов, истёк сегодня. Поскольку все корневые сертификаты контролируются США, а также из-за политики санкций, удостоверяющие центры, имеющие право выпустить новый сертификат, отказали ПАО Сбербанк в продлении.
Поэтому с сегодняшнего дня ПАО использует новый сертификат выданный от имени «Russian Trusted Sub CA». Загрузить его можно с сайта госуслуг. По указанной ссылке доступны файлы сертификата и инструкции для популярных ОС (Linux в списке отсутствует). Сайт госуслуг удостоверяется сертификатом, выданным Sectigo и поэтому пока доступен в любых браузерах.
Также новый сертификат уже встроен в браузеры Яндекс.браузер и Атом.
>>> Подробности
Некоторое время назад я создавал тред, где спрашивал: А что кричать спортсмену, когда он тренируется?
Сегодня хочу поблагодарить всех участников того треда и показать, что у меня получилось:
Видел видео, вероятно, на Ютубе (ссылку потерял). Что-то довольно новое, но в ретро-стиле, с графикой низкого разрешения, имитация VGA.
Начинается с того, что мама внезапно говорит маленькому мальчику, чтобы он шёл жить к бабушке. И он должен пересечь ночной город с разнообразными опасностями. Помню, что в канализации его могут загрызть крысы(?), ещё в нескольких местах его может похитить зверского вида бомж, что тоже считается смертью. Если он вляпывается во что-нибудь или на него блюют пьяные прохожие, он тоже теряет жизни.
Жанр — скорее, предельно линейный квест, чем платформер.
Никто не видел?
Ответ: «Juan Miguel in the city», 2021 год, https://karellengames.itch.io/juan-miguel-in-the-city Спасибо Kron4ek за непревзойдённое умение гуглить.
Проблема у ноутом экран разделился горизонтально на 2 части ноут дел инспирон 1520 подозреваю отвал чипа видеокарты. что еще может быть варианты?
В статье автор описывает успешный проект Discord, в котором Rust используется для потоковой обработки в Go Live и их Elixir NIFs’ сервере.
Автор пишет
«Хочу отметить, что мы потратили очень мало усилий на оптимизацию реализации на Rust. Но даже только с базовой оптимизацией Rust оказался быстрее супероптимизированной реализации на Go. Это заметный плюс для Rust, показывающий, насколько легко писать эффективные программы, используя Rust, по сравнению с глубоким погружением в Go.»
…Посоветуйте аниме без сисек.
Не, ну реально, весь этот фансервис во всех современных тайтлах убивает желание смотреть что-либо на корню. В то время как ishuzoku reviewers прорывают очередное дно в индустрии аниме, стирая грань между хентаем и аниме (до такой степени что оказались забанены на стриминговых сервисах) сердце и душа просит чего-то доброго и вечного типа Slayers (хотя и там тоже периодически фансервисили по самое не хочу).
В общем поделитесь чем-то, что можно посмотреть бородатому дяде под 30 и где не будет мелькающих трусов или сисек. Такое вообще всё еще делают? Или такие тайтлы навсегда остались в 80х?
Список того, про что я веду речь:
Всем привет.
Написал с нуля новую программу для хранения, поиска, чтения и конвертации больших библиотек fb2: https://bitbucket.org/tkatchev/flibby/
Умеет индексировать, проводить поиск по индексу, экспортировать, читать и конвертировать в PDF книги из fb2-архивов.
(Если кто-то помнит myRuLib - то тут примерно то же самое, только проще, функциональнее, быстрее и в консоли.)
Надеюсь, кому-то будет полезно.
Хочется фотографировать камерой, прочитал книгу «Фотография для дебилов» с основными понятиями про экспозицию, освещение, режимы и тому подобное. Теперь углубляюсь на практике. Художественно-композиционная часть атрофированному инженерскому правому полушарию даётся нелегко, но с практикой думаю наработается.
Сложнее оказалось с обработкой. Открыть RawTherapee и как-нибудь разобраться — не получилось. Найти какой-нибудь адекватный мануал — не получилось тоже. Найденные гайды, включая официальный, ничего не объясняют, и в общем случае выглядят так:
«Saturation отвечает за насыщенность, а hue — за hue. Откройте вкладку Exposure и подвиньте ползунки как надо. Теперь откройте вкладку Detail и подвиньте ползунки как надо. <…> Поздравляем, теперь вы всё умеете.»
Критически не хватает объяснения, а как надо. Авторам мануалов почему-то кажется, что я знаю, что надо делать с фотографией, и просто не могу найти нужный контрол. Нет, дело не в этом. Дело в том, что мне нужно не поменять sharpening amount, а сделать хорошую фотографию. Наверняка есть правила и сложившиеся практики. Рассказы про художественный вкус и чувство прекрасного — это гуманитарный буллшит. Рассказали бы лучше
Линукс тут при том, что RawTherapee же.
Тег «угадай автора по заголовку».
Q: Зачем?
A: Ради эксперимента, повысится комфорт пользования терминалом или нет.
Q: Причем тут Rust?
A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install
, но тормозило бы. Ближе opam install
или go get
Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.
alacritty
- GPU ускоренный терминал.
alias cat=bat
- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.
broot
- навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.
dust
- утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.
alias ls="exa -l --group-directories-first"
ls с хорошими дефолтами, tree встроено.
rip
Утилита для удаления файлов с разными удобными фичами и восстановлением
hors "How do I parse float in javascript?"
- находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал - howdoi
.
mdcat
- cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.
alias grep=rg
- очень быстрый и удобный grep
starship
- shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.
tokei
- сборщик статистики по ЯП и строкам кода в деревьях исходников.
hyperfine
- бенчмарк утилита, time на стероидах.
tldr
- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/
topgrade
- универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.
runiq
- быстрый sort | uniq
с разными алгоритмами внутри.
fd
- быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключи
fselect
- поисковик файлов с SQL-like языком запросов
sd
- как sed, только интуитивный
i3status-rs
- Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.
onefetch
- Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локально
wasmtime
- JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.
scriptisto
- «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода
Что не зашло совсем
Все вышеперечисленое ставится через cargo install <package_name>
(кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls
на Java. Пользователей emacs
прошу не беспокоить
На YouTube на канале corehard стали доступны видеозаписи следующих докладов с прошедшей в конце ноября конференции C++ CoreHard 2019:
Ссылка на плейлист: https://www.youtube.com/playlist?list=PLgsLnJ-wgYTaGUCiwpLKtJ4XkSy_vf9C-
Организаторы C++ Russia 2017 (24-25 февраля 2017) выложили на YouTube видео докладов с конференции.
PS. Если кто-то не хочет смотреть видео, а хочет просто пролистать слайды того или иного доклада, то к большинству докладов слайды можно найти в описаниях самих докладов (вот, например).
На YouTube стали доступны видео докладов обоих дней C++Russia 2018 (видео первого дня опубликовали в конце июня, на днях добавили еще и видео второго дня).
Вот список в хронологическом порядке публикации видео:
Jon Kalb, C++ Today: The Beast is Back
Алексей Салмин , Memory Management Tips & Tricks
Andrei Alexandrescu, Expect the expected
Евгений Лукьянец, Сборка в Docker с использованием Conan
Viktor Kirilov, Interactive C++ Compilation (REPL): The Lean Way
Mikhail Matrosov, Versatile C++ applied
Илья Шишков, Как научить языку C++: опыт создания курсов на Coursera
Дмитрий Соколов, Кодогенерация как рефлексия для бедных
Herb Sutter, New in C++20: The spaceship operator
Arno Schödl, From Iterators To Ranges
Александр Гранин, Функциональный подход к Software Transactional Memory
Денис Панин, Практическое метапрограммирование: пишем гетерогенную хэш-таблицу
Иван Пономарёв, Crash репорты Android NDK
Фёдор Короткий, Память – идеальная абстракция
Дмитрий Банщиков, Разделяемые библиотеки без внешних зависимостей
Borislav Stanimirov, DynaMix: A New Take on Polymorphism
Vadim Vinnik, Collection Processing. Single essence, multiple manifestations
Victor Ciura, Enough string_view to hang ourselves
Анастасия Казакова, Отладка кода на C++, без запуска и компиляции
Jonathan Boccara, 105 STL Algorithms in Less Than an Hour
Daveed Vandevoorde, Reflective Metaprogramming in C++
Павел Булатов, Переход на WebAssembly: стоит ли игра свеч?
Simon Brand, Modern C++ Parallelism from CPU to GPU
Евгений Зуев, Semantic API for C++ programms
Dietmar Kühl, Concept Based Testing
Дмитрий Кожевников, Подводные камни CMake и где они обитают
Rainer Grimm, Best Practices for Concurrency in Modern C++
Евгений Охотников, Акторы на C++: стоило ли оно того?
Алексей Малов, Опыт применения современного C++ в разработке desktop-приложений
Ivan Čukić, 2020: A void_t odyssey
Андрей Карпов, Эффективный C++ (Маерс тут ни при чём :)
Сергей Шамбир, Когда хорош процедурный C++
Иван Пузыревский, Асинхронность в программировании
Сергей Васильев, Статический анализ: ищем ошибки... и уязвимости?
На YouTube на канале corehard стали доступны видеозаписи следующих докладов с прошедшей весной конференции C++ CoreHard 2019:
На YouTube на канале C++ User Group стали доступны видеозаписи следующих докладов с прошедшей весной конференции C++Russia 2019:
следующие → |