LINUX.ORG.RU

Избранные сообщения bryak

В кои-то века родил статью по своей питоновой либе

Форум — Development

https://habr.com/en/post/526002/ — Making python's dream of multithreading come true

Хотелось написать что-то для прочтения буграм, но и вам запощу, так и быть. Буду благодарен, если кто-то запостит это на reddit.com/r/python и даст ссыль сюда, потому что мне еще две недели нужно ждать, пока аккаунту разрешат делать посты.

Летом уже в паре предложений описывал состояние, с тех пор переделал простую блокировку на RW, поменял ассоциативный массив на более каноничную хэш таблицу, и еще кучу всякой мелочи. Написал статью, чтобы к альфа-недорелизу все-таки сделать что-то, что можно показать людям, как рабочее решение. Хотя бы одна-две кое-как работающие программы, похожие на часть прикладной системы.

В частности, написание статьи само по себе помогло сообразить, что без механизма каналов особо нечего ловить в прикладнухе. Причем, я уже знаю, как эти каналы можно сделать гибкими на зависть Go-шникам, потому что это будет не прибитый гвоздями к языку черный ящик, а отдельные примитивы синхронизации и хранилище аля std::deque, для которого можно как быстро в lock-free режиме добавлять и забирать записи, так и выполнять на самом питоне сложные транзакции плана «выбрать записи определенного типа из очереди» — не блокируя при этом lock-free добавление новых сообщений и не блокируя параллельных читателей. То есть, в одном флаконе умещаются любые сочетания взаимодействий производитель-потребитель. Конечно, я подозреваю, что алгоритмы на питоне будут тормознутыми, но что ж поделать, это питон.

 ,

byko3y
()

Измерения с осциллографа в линуксе

Галерея — Скриншоты

Давно хотел осциллограф себе домой, но как-то всё не было причины для покупки. Наконец она появилась и теперь я осваиваю новёхонький Rigol DS1054Z. В процессе освоения возникла необходимость иметь результаты измерений на компьютере. Сам по себе этот осциллограф умеет экспортировать результаты в csv на флешку, но это не очень удобно – перетыкать туда-сюда флешку. Производитель предоставляет софт, но он только под оффтопик.

После непродолжительных поисков, я нашёл открытый софт для управления осциллографами и др девайсами по сети LXI Tools. Всё что требуется, это поддержка устройством команд SCPI. Моя модель осциллографа полностью совместима и позволяет менять задавать параметры, получать результаты измерений и изображения экрана и всё это по сети. Есть графический интерфейс и cli утилита. Можно подключить осциллограф к устройству и полностью контролировать его удалённо. Довольно легко даже автотесты написать.

На скрине измерения частоты поданной с выхода GPCLK0 Raspberry Pi 3B+.

 ,

cocucka
()

debian+uwsgi+nginx никак не хочет работать с поддоменом

Форум — Development

delete

 , , ,

noname_user
()

Кому свежих яблочек?

Форум — Talks

Досбор осеннего урожая: новые iPhone и HomePod, MacBook на ARM-процессоре, AirTags (предположительно)

Прямо сейчас❗️https://www.apple.com/apple-events/event-stream/

 

fornlr
()

Кто возьмется сделать православный мониторинг для dwm?=)

Форум — Development

Появилась мысль сделать кикстартер проект. Сформировать всем месте ТЗ по этому проекту и вложиться деньгами(скажем по $1-2 с человека). По результатам выложить это на suckless, чтобы у всех у нас был хороший гибкий мониторинг. Вообще, такой proj хорош тем, кто хочет поднять свой скилл на си, но если таких не найдется, давайте соберемся шекелями и пусть нам запилят мониторинг

В общем есть у меня скрипт на питоне, который имеет конфиг:

data = {
    'item0':
    {
        'job': 'myout',
        'type': 'system',
        'timeout': 2,
        'state': 'enable',
    },
    'item1':
    {
        'name': '',
        'bracket': '',
        'job': 'internet',
        'type': 'function',
        'timeout': 5,
        'state': 'enable',
        'result': 'UP:LOAD'
    },
    'item2':
    {
        'name': '',
        'bracket': '',
        'job': "weather",
        'type': 'function',
        'timeout': 300,
        'state': 'enable',
        # 'result': '☔:0'
        'result': 'W:0'
    },
    'item4':
    {
        'name': '',
        'bracket': '',
        'job': 'traffic',
        'type': 'function',
        'timeout': 1,
        'state': 'enable',
        'result': 'D:0B    U:0B   '
    },
    'item5':
    {
        'name': '',
        'bracket': '||',
        'job': 'disk',
        'type': 'function',
        'timeout': 60,
        'state': 'enable',
        'result': 'RH:-1,-1,-1'
    },
    'item6':
    {
        'name': '',
        'bracket': '',
        'job': "day",
        'type': 'function',
        'timeout': 15,
        'state': 'enable',
        'result': 'Дн.'
    },
}

Скрипт обходит все item, парсит что это «функция», берет имя функции, и выполняет функцию с указанным таймаутом. Далее пишет информацию в общий массив и отдельный тред берет весь массив и пишет информацию в xsetroot -name. Но в целом всё это я так бы сейчас не написал. Это не православно. Православно как?

делаем конфиг в yml вида:

- item1
   - path: /some/script.py
   - timeout: 15
   - state: enable
   - result: 'UP:LOAD'

Далее в сишке обходим все item, запускаем скрипты с заданным таймаутом и пишем в какой-то общий массив. И с таймаутом 2 секунды запускаем xsetroot и подставляем всю инфу. Таким образом мы можем в мониторинг добавлять свои скрипты хоть на питоне, хоть на луа, хоть на sh и мониторинг будет забирать от них выхлоп. Было бы круто:)

А то некрасиво это:

ps_mem |grep monitoring.py

17.3 MiB + 241.5 KiB =  17.5 MiB       monitoring.py

ps_mem |grep dwm

1.3 MiB + 199.5 KiB =   1.5 MiB       dwm

Сам мониторинг занимает больше памяти, чем wm, лол

Кто возьмётся написать православный monitoring на си для dwm? =)

 , ,

bryak
()

Оптимальные параметры монтирования + проблемы при commit=600

Форум — Desktop
defaults,noatime,commit=600,data=writeback,barrier=0,journal_async_commit          0       2

При commit=600 при poweroff рабочая станция не выключается. В принципе удобно, 32гб озу, все пишется в оперативку. Раз в 10 минут скидывается на диск. Все эти 10 минут на диск ничего не пишется, диск постоянно не дёргается. Пробовал делать в скрипте выключения перед «shutdown -h now» sync - не помогает. Сейчас сделал commit=60 - вроде всё ок, но хотелось бы commit=600

Кстати, какие еще есть опции оптимальные для ext4?

 

bryak
()

Тиринг на гибридной графике Intel+Nvidia

Форум — General

Снова хочу поднять тему тиринга на Nvidia (Intel+Nvidia), потому как на 2020 год никаких рабочих решений я не нашел, а те, что есть отсылают еще к временам bumblebee. Суть проблемы такая - включается нвидэ - тиринг. Однако на Linux Mint Cinnamon тиринга нет даже при задействовании нвидэ (если включить ее принудительно, то тиринг). Потому и сижу на cinnamon, а втихую облизываюсь на Manjaro KDE или GNOME. Так вот, как вообще можно побороть этот тиринг? Нужных настроек в драйвере нет, файла 20-nvidia.conf нет.

 , ,

akergez
()

Вопрос касательно ядер

Форум — General

Приветствую!

При использовании ядер hardened или zen вентилятор в ноутбуке сходит с ума, обороты составляют 2300+ и не падают. На stable и lts все хорошо, без нагрузки 2000-2100. Я даже почистил ноут от пыли и заменил термопасту, чтобы отмести вопрос с валенком в радиаторе как можно дальше. Так же откатывался на более старые версии этих ядер, но не помогло. Не знаю, что делать… Наткнулся только на одну похожую тему, оставленную без ответов.

Как быть? Что делать?

 ,

D3306
()

Темный StumpWM

Галерея — Скриншоты

Увидел прошлый скрин в галерее, нахлынули ностальгические воспоминания — решил выложить темно-синий StumpWM в противовес светло-зеленому.

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

alert box, urxvt: http://i.imgur.com/8kMvr48.png?1
«виджеты»: http://i.imgur.com/y3KSX6G.png


Конфиг: https://github.com/zarkone/stumpwm.d

 , ,

zarkone
()

yet another tiling window manager: принимаю киллер-фич-реквесты

Форум — Desktop

привет ЛОР, сегодня мы с девушкой договорились встретиться погулять, к слову, у нее два прицепа, она живет с родителями и ругается с ними каждый день, у нее нет работы, она буквально каждый день просит у меня занять ей денег. я уже приготовил всяких вкусняшек ее детям и небольшой подарок ей самой. но она меня продинамила. как и все другие девушки.

только компьютер меня любит, только компьютер меня уважает!

и поэтому я решил запилить тайловый оконный менеджер на чистом FVWM. FvwmRearrange — сила!

Скриншоты:

http://spfng.com/~spoofing/2015-01-16 12:01.png

http://spfng.com/~spoofing/2015-01-16 12:00.png

Напоминает dwm, не так ли? Кому интересно, FVWM-скрипты и хоткеи: Alt + S сделать окно Master'ом (как в dwm); Alt + T и Y это два вида тайлинга.

DestroyFunc FuncDwmTileH
AddToFunc FuncDwmTileH
+ I All (State 31) Move 0 0
+ I All (State 31) Resize frame 66 100
+ I All (State 31) WindowStyle WindowListSkip
+ I UpdateStyles
+ I ModuleSynchronous FvwmRearrange -tile -u -m -s -r -h -noraise 66 0 $[vp.width]p $[vp.height]p
+ I All (State 31) DestroyWindowStyle

DestroyFunc FuncDwmTile
AddToFunc FuncDwmTile
+ I All (State 31) Move 0 0
+ I All (State 31) Resize frame 100 66
+ I All (State 31) WindowStyle WindowListSkip
+ I UpdateStyles
+ I ModuleSynchronous FvwmRearrange -tile -u -m -s -r -noraise 0 66 $[vp.width]p $[vp.height]p
+ I All (State 31) DestroyWindowStyle

DestroyFunc FuncDwmSetMaster
AddToFunc FuncDwmSetMaster
+ I All (State 31) State 31 False
+ I Current (*) State 31 True

Key T A M FuncDwmTileH
Key Y A M FuncDwmTile
Key S A M FuncDwmSetMaster

Реквестирую киллер-фичи по вашему желанию. Чего бы вы хотели видеть в FVWM, если к нему прикрутить человеческий тайлинг?

Например, можно сделать float, vertical-tiling, horizontal-tiling на каждый стол по-отдельности, как в dwm, еще можно сделать его на разных слоях (Layer), еще можно сделать несколько окон Master'ов, еще можно... можно всё. Только скажите чего вы бы хотели видеть в тайловом FVWM.

 , ,

Spoofing
()

geh 0.4.0

Форум — Development

Сабж: https://github.com/software-revive/geh-rv/releases/tag/0.4.0

Вчера в комментариях вспомнили про такой image viewer: Заброшенные Open source программы (комментарий)

Я немного причесал сорцы и выложил в виде минорного релиза.

Разных просмотрщиков, конечно, дофига. Тут из особенностей можно отметить только вот что:

  • Компилируется мгновенно.
  • Получается единственный бинарник, ничего лишнего. (Локализации тоже нет)
  • Можно собрать как с gtk2, так и с gtk3.
  • Реальная фоновая загрузка изображений, не блокирующая поток UI.
  • Режим миниатюр, удобный.
  • Можно рекурсивно сканировать каталоги.
  • Лицензия MIT, если для кого-то это важно.

Пока добавил по мелочи:

  • Added new entries to the right-click menu:

    • View -> Full Image Mode, View -> Slide Show Mode, View -> Thumbnail Mode, to switch between the view modes with mouse, not just keyboard.
    • Help -> Key Bindings, displays the list of hot keys.
    • Help -> About, displays the detailed info about the application, license supported image formats and build environment.
  • Added command line options:

    • -v, –version, prints the application version
    • -V, –about, shows the about message (the same as in GUI)
  • Added files: AUTHORS, LICENSE, NEWS

  • Fixed few compilation warnings.

  • The man page removed, since it’s short and not helpful.

Полезные части кода и идеи я потом утащу в spicview.

А этот просмотрщик, думаю, пусть остаётся компактным и простым, без привязок к разным DE и библиотекам.

 , , software revive

wandrien
()

Выбор по Тьюрингу

Форум — Talks

Посоветуйте что почитать похожее на книгу Гарри Гаррисона «Выбор по Тьюрингу». Так чтоб про ИИ и scy-fi. Желательно, с научной базой как в сабже, а не просто злой ИИ убивает человеков.

 , ,

cocucka
()

Коллективный it-блог, но не habr

Форум — Talks

А что есть кроме habr где можно почитать статьи живых пользователей про администрирование linux, сетей и прочего подобного (но не про программирование, хотя если в перемешку, то пофиг). Убить время в метро и просто быт в курсе того, что творится вокруг, а то я как-то выпал из всего что происходит.

Сразу скажу, что знаю про:
reddit - это скорее форум и им надо уметь пользоваться, мне как-то не зашло, не могу найти интересующие подхабы
medium - очень большая платформа, надо знать кого читать (но если есть хорошие авторы по linux/сетям, советуйте
livejournal - аналогично medium, но стремительно помирает

Язык: Русский/Английский

 ,

Kolins
()

как взять код страны?

Форум — Development

т.е если Украина - +3, если Россия - +7 и тд

 ,

bryak
()

firefox must have addons

Форум — Desktop

Благодаря Im_not_a_robot я теперь знаю, что firefox без tree style tab и tab session manager это как vim без nerdtree и ctags: древовидная история в firefox или что-то вроде того? (комментарий)

Это заставило меня «запомнить» где-нибудь must have набор аддонов (порядок следования такой как в закладке Addons):

  • Disconnect
  • Google search link fix
  • Print to PDF
  • Tab Mover
  • Tab Session Manager
  • Tree Style Tab
  • TST Lock Tree Collapsed
  • uBlock Origin
  • Video Speed Controller
  • Youtube Classic

Самое главное IMHO: Tree Style Tab + Tab Mover + Tab Session Manager + uBlock Origin + Youtube Classic.

Е..ть так королеву, может я что-то нужное пропустил?

EDIT: Удалил Ghostery из списка в связи с firefox must have addons (комментарий)

EDIT: Удалил Copy PlainText из списка, так как ctrl-shift-v при вставке обычно делает тоже самое там где надо (например из ffox -> lowriter)

 ,

dissident
()

Создание загрузочных образов boobstrap v1.2

Новости — Open Source
Группа Open Source

Спустя всего месяц неспешной разработки состоялся релиз boobstrap v1.2 — набор инструментов на POSIX shell для создания загрузочных образов и накопителей.

( читать дальше... )

>>> Исходный код

 ,

Spoofing
()

midnight commander - file associations

Форум — General

Человеки, приветствую вас.

Знает ли кто?

Запускаю в чистой консоли через фрэймбуфер картиночки через fbi, а видосики через mplayer. Тоже через фрэймбуфер. И всё работает. Жирное НО.

Как эти команды правильно пихнуть в сабж?

Я как бы не очень шарю в скриптах пока что.

И поэтому /etc/mc/mc.ext ~/.config/mc/mc.ext /usr/lib/mc/ext.d/ не осилил…

Массу вариантов перепробовал ничего хорошего не вышло.

 , ,

uriukti
()

Фильмы в духе балабановского «Замка»

Форум — Talks

Недавно наткнулся в youtube на «Замок» Балабанова и вспомнил, что уже сто лет собирался его посмотреть. Посмотрел и обомлел - какая вуду-магия помогла режиссеру изобразить именно то, что было в моей голове во время чтения книги? Лица, интерьеры, голоса, весь антураж вообще.

Но вопрос не в этом. Теперь захотелось еще одной дозы этой безнадеги плюс минус начала 20 века в таких же декорациях, что важно. Поисковики предлагают либо другие фильмы Балабанова, либо другие экранизации Кафки (очень умнО). На ум пока приходит только «Джорджино» и фильмы а-ля «Плоть для Франкенштейна». Помнится, в стародавние времена был у нас в локальном dc-хабе провайдера некто с крутой подборкой таких фильмов, но где ж его теперь найдешь. Может быть, коллективный разум ЛОРа что-то подскажет, а старый «посоветуй-тред» в толксах открепили, поэтому отдельный пост.

 

ins3y3d
()

Простейший аналог ansible

Форум — Admin

Есть ли в природе аналог ansible, chef и т.п., но более легковесный. Без всяких там инвентарей, мастер-клиент архитектуры и прочего.

Хочу иметь возможность, так сказать, bootstraping’а системы без лишнего геморроя. Т.е. поставить пару пакетов, добавить ssh ключи, пару конфигов и т.д. Что-то среднее между bash-скриптом и ansible playbook. Мне не нужно раскатывать конфигурацию на кучу хостов, а тупо время от времени настраивать голую систему.

Bash-скрипт с обработкой всех возможных случаев писать лениво и долго, ansible тут как микроскоп для забивки гвоздей. Нужно что-то типа DSL для конфигурации системы. Желательно несильно завязанное на определенный дистрибутив.

 , , , ,

cocucka
()

Любой GNU/Linux. С любого накопителя. С откатом неудачных конфигураций.

Форум — Talks

Здравствуйте, мои маленькие любители авиационного спирта!

Сегодня я вам расскажу на примере Gentoo GNU/Linux как создать загрузочную USB-флешку или любой другой накопитель, HDD, SSD, и расскажу как сделать откат неудачных конфигураций. Прям как в NixOS, но главное отличие и преимущество, что это не NixOS, а это может быть вообще любой дистрибутив на ваш выбор. Так!

Скачиваем генту.

# wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20200624T214505Z/stage3-amd64-20200624T214505Z.tar.xz
# mkdir gentoo/
# tar xf stage3-* -C gentoo/

Сразу установим пароль для root чтобы потом войти в систему, все остальные настройки по вашему желанию.

# chroot gentoo/ /bin/bash <<EOF
echo -e "toor\ntoor" | (passwd root)
EOF

Всё, на этом этапе у нас есть директория gentoo/, это может быть вообще любой дистрибутив, значения не имеет.

Теперь для создания загрузочной USB-флешки вам понадобится:

✅ USB-флешка
✅ Ядрышко, можно ванильное (/boot/vmlinuz-* подойдёт).
✅ initrd-образ (создадим сами).

Не забудьте USB-накопитель подключить к компьютеру.

Подключив, USB-накопитель появится по адресу, например, /dev/sdb.

Создадим initrd-образ:

# mkinitramfs `mktemp -d` > initrd

А теперь создаём загрузочный USB-накопитель:

# mkbootable /dev/sdb      \    # <- это флешка
    --kernel /boot/vmlinuz \    # <- это ядро linux
    --initrd ./initrd      \    # <- это initrd
    --overlay gentoo/      \    # <- это папка с дистрибутивом linux
    --squashfs-xz               # <- это способ сжатия папки с дистрибутивом linux

⚠⚠⚠ Все данные на /dev/sdb будут уничтожены!!! ⚠⚠⚠

Всё готово, вы великолепны! Теперь вы можете загрузиться с данного USB-накопителя в свою Gentoo!

А вся красота данного метода заключается в том, что вы можете продолжать пользоваться своим USB-накопителем как USB-накопителем! И к тому же установленной системой на ней!

USB-флешка загружается и на BIOS, и на UEFI-системах!

Структура накопителя следующая:

/dev/sdb                         # <- ваша флешка
/dev/sdb1                        # <- BIOS раздел 1мб
/dev/sdb2                        # <- UEFI раздел 50мб
  /EFI/BOOT/BOOTX64.EFI
/dev/sdb3                        # <- ваш линукс и ваши данные
  /boot/grub
  /boot/vmlinuz
  /boot/initrd
  /system/10-gentoo.squashfs     # <- гента!1!
  /ANIME
  /MLP NEW SERIES                # <- другие важные данные на флешке

Создание BIOS / UEFI загрузочной USB-флешки всего одной командой!!!!1

И эта флешка ещё может продолжать использоваться как флешка!11

Загрузившись с использованием опции boobs.use-overlayfs, или выбрав в меню загрузчика grub пункт: «Boot using Overlay FS», ваша условная Gentoo GNU/Linux будет работать как read-only оверлей.

Все изменения которые вы сделаете в системе сохраняются отдельной в папке /mnt/overlays/roofs-changes.

Что мы делаем теперь? А теперь мы можем все эти изменения сохранить и положить сюда же, на USB-накопитель! Это может быть SquashFS-образ, cpio-архив или просто директория, да.

Из загруженой системы монтируем флешку в /mnt/storage:

# mount /dev/sdb3 /mnt/storage

После обновления «мира», добавления новых пакетов сохраняем все изменения как SquasFS-образ:

# mksquashfs /mnt/overlays/rootfs-changes /mnt/storage/system/rootfs-changes.squashfs

Все наши /home-данные можно просто скопировать как обычную директорию на флешку:

# cp -a /home /mnt/storage/system/home-data

Каждое обновление системы можно сохранять отдельным SquashFS-образом.

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

Шах и мат, NixOS!

Скачать: https://github.com/sp00f1ng/boobstrap

 

Spoofing
()