LINUX.ORG.RU

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

Metaprog здорового человека

 , ,

https://ryven.org/

Без танцев с виртуалками и проприетарщины. Для любого кода на няшном питоне.

Singularity
()

Почему все же с++ такой сложный язык?

 ,

С++ – сложный язык. Хоть это для каждого по разному и тд, но он очевидно сложнее большинства (всех?) высокоуровневых языков программирования. С другой стороны он очень быстрый и дает тотальный контроль.

Теперь вопрос: должен ли язык быть априори настолько сложным для достижения мощи как в с++ или же так просто исторически сложилось (ака историческая несправедливость)?

T3RM1N4L
()

Настройка ZSWAP/ZRAM

 , ,

Такой сабж, есть ноутбук с debian (i3/4gb ram/128 ssd), есть ли смисл играться с ZSWAP (ZRAM ?), и если да, то какой должен быть конфиг для этого, как минимум какой vn.swappiness и zswap.max_pool_percent ?

fpbeat
()

Помоги перенести скрипт bash -> sh

 , ,

Здравствуй, мой дорогой, уважаемый друг!

У меня возникили трудности при написании скрипта на shell, я так сильно привык к bash, что немного вошел в ступор и надеюсь на твою помощь.

Задача

Имеем:

export APP_NAME='test'
export APP_DESCRIPTION='Test app'
export APP_VERSION='beta'
export APP_COMMIT_HASH='000000000'
# и черт пойми еще какие APP_* могут быть
export PROJECT_DIR='./src'

На bash-е сделал так:

#!/bin/bash
for k in ${!APP_*}; do
  grep -q "^$k" "$PROJECT_DIR/.env" && \
    sed -i "s|^$k=.*|$k=${!k}|" "$PROJECT_DIR/.env" || \
    printf '%s=%s\n' "$k" "${!k}" >> "$PROJECT_DIR/.env"
done

Очень нужно перенести на shell, там где это будет работать - товарищ майор запрещает использовать bash. На скорую руку сделал так:

#!/bin/sh
vars=$(env | grep -o '^APP_.*=' | tr -d '=')
for k in $vars; do
  eval "v=$k"
  grep -q "^$k" "$PROJECT_DIR/.env" && \
    sed -i "s|^$k=.*|$k=$v|" "$PROJECT_DIR/.env" || \
    printf '%s=%s\n' "$k" "$v" >> "$PROJECT_DIR/.env"
done

Проблема

  • eval == зло
  • сложное получение списка названий переменных

Изящный способ то существует?

Скорее всего env и eval можно заменить на set, но решил спросить у тебя, может быть подскажешь что-то более практически и эстетически верное.

Решение

Всем спасибо за помощь!

Пока оставил в таком виде:

#!/bin/sh
cat /proc/self/environ | tr -d '\n' | tr '\0' '\n' | \
grep '^APP_[a-zA-Z0-9_-]*=.*$' | \
while IFS='=' read -r k v; do
  grep -q "^$k" "$PROJECT_DIR/.env" && \
    sed -i "s|^$k=.*|$k=\"$v\"|" "$PROJECT_DIR/.env" || \
    printf '%s="%s"\n' "$k" "$v" >> "$PROJECT_DIR/.env"
done

WoozyMasta
()

Intel'овские плюшки для слаки

 , , , , плюшки

Вот, сваял слакбилд для slackware-current.

https://github.com/stanson-ch/beignet.SlackBuild

Теперь Beignet (Интелевский OpenCL для процессоров Gen3+ c Intel HD Graphics) собирается и работает на current'е.

В гимпе фильтры значительно шустрее работают и всё такоэ.

Beignet был заброшен Интелем в пользу compute-runtime, но последний поддерживает процессоры только начиная с Broadwell. А постоянно меняющийся llvm привёл к тому, что ванильный Beignet не собирается при мало-мальски свежем окружении. В общем, несколько патчей из дебиана, парочка из арча, немножко своего - и всё снова заработало.

Обновил для llvm11. Вроде работает. Задрали уже обратную совместимость ломать.

Stanson
()

GNU Poke 1.0

 , poke

Группа Разработка

GNU Poke - новый интерактивный редактор бинарных данных со встроенным процедурным языком программирования, предназначенным для описания структур данных и их изменения. GNU Poke позволяет редактировать байты в отдельно взятом бинарном файле или его части, а также создавать программы на базе Poke для шаблонного изменения, просмотра и редактирования файлов или отдельных абстрактных структур внутри бинарных файлов (примером такой программы мог бы служить редактор mp3-тегов или значений в sqlite-базе данных).

GNU Poke является консольной утилитой, использующей gnu-библиотеку readline, однако также существует графический интерфейс, созданный с применением Tk/Tcl. Виртуальная машина Poke основана на Jitter.

Релиз GNU Poke 1.0 состоялся 26 февраля 2021 года, разработка продолжалась в течение 3 лет.

Сайт проекта

Исчерпывающее руководство на английском языке

>>> Анонс от команды разработчиков (jemarch.net)

Leupold_cat
()

GNOME против Unix-way

 , , , ,

Доброго дня вам, ЛОРчане!

Что такое этот мифический «Unix-way»? Вероятно, однозначно на этот вопрос не ответит никто, т.к. каждый понимает под данным термином что-то своё, и определение не имеет чётких границ. Поэтому для установления общего базиса в данной теме предлагаю заглянуть в Wikipedia. Кроме трёх базовых понятий о программах делающих что-то одно, работающих вместе и использующих текст (Malcolm Douglas McIlroy), там есть такие мысли, как:

  • «Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой» - Mike Gancarz
  • «Позвольте пользователю настраивать окружение» - Mike Gancarz
  • «Правило прозрачности: Разрабатывайте прозрачные программы для облегчения последующего пересмотра и отладки» - Eric S. Raymond


С настраиваемостью и GNOME, думаю, давно всё понятно. Разработчики явно решили, что многообразие опций напугает пользователя. А что с прозрачностью? На мой взгляд, неоспоримым преимуществом систем GNU/Linux по сравнению с Windows и macOS является то, что в случае поломки пользователь может разобраться в её причинах прямо здесь, на месте. Либо, если ему интересно, может узнать что и как устроено внутри. Пользователь GNU/Linux в праве ожидать от программ ясных и подробных логов, тогда как в Windows чаще можно увидеть «Произошла ошибка 0xBADS0F1. Обратитесь к системному администратору». Я уже как-то писал на ЛОРе, что GNOME развивается в сторону от прозрачности системы. Проблема заключалась в отображении грустного смайлика (выглядит это вот так) вместо нормального сообщения об ошибке, и это сообщение показывал не «обновлятор» Ubuntu, а GNOME. Самое стрёмное тут это невозможность отказаться от завершения сеанса. Т.е. другие программы могут вполне работать, но поверх их висит окно, которое блокирует весь ввод. Я сам так же попадал в подобную ситуацию, когда пользовался QEMU. При том не было даже никакой ошибки, просто QEMU захватил ввод, я решил переключиться на другую виртуальную консоль (Ctrl+Alt+F3) и обратно, а GNOME почему-то решил, что ему стало плохо. После этого я с воплями убежал на KDE. Это было не единственным примером, а скорее, последней каплей. До этого я ещё стойко терпел выпиливания функционала. Достаточно сравнить диалоги выбора файлов в GNOME и KDE - вполне наглядный пример.

И вот, некоторое время назад мне опять понадобилось писать ПО с использованием GTK. К слову, к самому GTK я пока отношусь положительно. Достаточно неплохой тулкит, нормальная идея с GObject introspection и привязками к другим языкам. Хотя уже закрадываются сомнения... Раньше я уже использовал Glade, чтобы нарисовать интерфейс. Местами плевался от него, но в целом ничего. А сейчас решил попробовать GNOME Builder. Запустил, открыл в нём пример приложения (одна из причин зачем ставил - потыкать разные примеры в одном месте, а не собирать их по GitHub, документация разработчика для GTK как-то не очень). Builder попросил поставить некоторые SDK (imgur.com). По названиям я предполагаю, что это делается через Flatpak. Хотя не факт. В общем, у него это не получилось. Да, ошибки в ПО встречаются, этого не избежать. Где нормальное сообщение об ошибке? Почему вместо него вот это. Конечно, я нагуглю и разберусь, что там случилось. Но, почему? Это ведь уже не текстовый редактор, где «важно» (хотя на самом деле не важно и даже вредно, пользователь должен знать) не напугать неподготовленного пользователя обилием опций и сообщениями с подробностями. Это IDE для разработчика. Всё, что тут можно сделать - нажать на кнопку, которая убирает пункт из списка. Зато есть удобное меню-гамбургер, а там есть пункт «Generate support log». Ура? Нет, это было бы слишком просто. В логе нет ничего по теме ошибки. В окне с «Failed to install» даже текст нельзя выделись и скопировать. Казалось бы, при разработке интерфейса надо просто поставить галочку «Selectable». Мелочь, но сколько раздражения доставляет. Вообще, что мешало в интерфейс выдать сразу какую-то внутреннюю ошибку? Ведь она там есть. Место закончилось или прав не хватило? Запустить Builder через sudo? Или что? Хоть бы errno показывали...

По итогу всего написанного выше, вангую, из GNOME побегут не только пользователи, которых лишили опций и настроек, но и разработчики сторонних приложений, т.к. создатели GNOME из нормальной среды времён второй версии устроили какой-то мирок с розовыми очками, где только они сами и могут обитать.

ls-h
()

OpenBSD 6.8 на Pentium II

 , , pentium ii

Просто OpenBSD 6.8 (который ещё не вышел) на Pentium II (который вышел ещё во времена динозавров)

Хотел было поставить туда Windows 10 (которая вышла уже несколько лет назад). Но для этого надо было бы раз в 20 разогнать процессор, раз в 16 увеличить размер памяти и раз в 5 растянуть жёсткий диск. Решил пойти более простым путём и поставил OpenBSD.

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

deb
()

Рабочая станция Sun Ultra 60, непонятки, требуется прошивка

 , ,

Давно лежит дома старинная рабочая станция SUN Ultra 60. в ней стоял один процессор на 300 МГц. По случаю купил два по 450. Это максимальные поддерживаемые процессора. Но с ними машина не стартует, ни с одним ни с двумя. Со старым на 300 МГц запускается.

поискал по мануалам, узнал что для процессоров 450 МГц нужен OPB версии минимум OBP 3.17 Version 0. У меня стоял OBP версии 3.11 На дисках нашел версию 3.25. Которая и была установлена. Но все равно машина не стартует с процессорами по 450.

Как крайний вариант нужна последняя версия OPB OBP 3.31 Version 0 + POST 2.0.3 + OBDIAG 1.3 (not ECO released)

Вот ссылка на нее на сайте Oracle

https://updates.oracle.com/download/9599989.html

У меня скачать не получается. У кого есть доступ, просьба скачайте прошивку. Все же хочу оживить машинку

sl-project
()

Скриншоты рабочих окружений известных в тусовке UNIX-like людей

 , , , ,

Собственно, суть: один шведский блогер (в хорошем смысле этого слова) как-то попросил именитых людей мира UNIX-like показать свой рабочий стол и окружение и дать пару комментариев насчёт него:

https://anders.unix.se/2015/10/28/screenshots-from-developers--unix-people-2002/

На ЛОРе уже мелькала несколько раз эта ссылка: [1] (linux.org.ru), [2] (linux.org.ru); однако обновление опроса, которое в 2015 году сделал этот же блоггер, к сожалению, осталось незамеченным и прошло без обсуждения.

https://anders.unix.se/2015/12/10/screenshots-from-developers--2002-vs.-2015/

Собственно, исправляем ситуацию. По ссылкам выше можно посмотреть как выглядели в 2002 и 2015 годах рабочие окружения именитых людей:

  • Dennis Ritchie (creator of C, co-creator of Unix)
  • Brian Kernighan (Unix legend, the K in K&R and AWK)
  • Richard Stallman (creator of GCC, GDB, GPL, FSF, etc.)
  • Bram Moolenaar (author of Vim)
  • Rasmus Lerdorf (creator of PHP)
  • Matthias Ettrich (founder of the KDE and LyX projects)
  • Warren Toomey (Unix historian)
  • Jordan Hubbard (FreeBSD co-founder, later Director of UNIX Technology at Apple)
  • Jon “maddog” Hall (Linux International, Open Source Initiative)
  • Luke Mewburn (then NetBSD core team member)
  • Timothee “TTimo” Besset (then id Software’s Linux port maintainer)
  • John Baldwin (then FreeBSD core team member)
  • Rob “CmdrTaco” Malda (co-founder of Slashdot)
  • Jun-ichiro “itojun” Hagino (IPv6 & BSD hero)
  • Michael Lesk (SMART, Lex, UUCP)

К превеликому сожалению Dennis Ritchie и itojun покинули нас и поэтому их скриншоты в новую подборку не смогли войти.

EXL
()

fheroes2 0.8.2

 , , ,

Группа Игры

Привет всем любителям игры «Герои меча и магии 2»!

Рады сообщить Вам, что свободный движок fheroes2 обновился до версии 0.8.2, которая является небольшим, но уверенным шагом к версии 0.9.

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

>>> Подробности на нашей странице. (github.com)

sirDranik
()

Просто оставлю это здесь: Игра в supertux2 с множественными `tail /dev/zero` в фоне без зависаний

 

Собственно: https://youtu.be/fPnbnNX9CPE

Система на HDD, Debian 9 Mate, MemTotal=10GB, swap on zram (disksize=14GB). memavaild, prelockd и nohang-desktop работают в фоне и помогают сохранять отзывчивость несмотря ни на что.

https://github.com/hakavlad/nohang

https://github.com/hakavlad/prelockd

https://github.com/hakavlad/memavaild

Кратко: prelockd - новейшее оружие в борьбе за отзывчивость при нехватке памяти.

Спрашивайте ответы.

hakavlad
()

Как определить ширину символа?

 ,

Задача: определить ширину текста (в колонках) перед его выводом на линуксовый терминал.

Планирую определить ширину строки как сумму ширин входящих в строку символов.
Каждый символ может занимать 0, 1 или 2 знакоместа:

  • 0 - непечатаемые кодепоинты, а также кодепоинты, добавляющие какую-нибудь закорючку к предыдущему символу
  • 1 - обычные символы, напр, латинские или русские буквы
  • 2 - напр, китайские иероглифы, занимающие два знакоместа

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

Как отличить символы обычной ширины от двойной ширины, я нашёл: нужно посмотреть свойство EastAsianWidth в Unicode Character Database

А как понять, что символ нулевой ширины (т.е., не увеличивает ширину строки)?
Будет ли достаточно смотреть только на название категории символа без учёта доп. свойств символа?

Список всех категорий

C  = "Other",
Cc = "Control",
Cf = "Format",
Cn = "Unassigned",
Co = "Private_Use",
Cs = "Surrogate",
L  = "Letter",
LC = "Cased_Letter",
Ll = "Lowercase_Letter",
Lm = "Modifier_Letter",
Lo = "Other_Letter",
Lt = "Titlecase_Letter",
Lu = "Uppercase_Letter",
M  = "Mark",
Mc = "Spacing_Mark",
Me = "Enclosing_Mark",
Mn = "Nonspacing_Mark",
N  = "Number",
Nd = "Decimal_Number",
Nl = "Letter_Number",
No = "Other_Number",
P  = "Punctuation",
Pc = "Connector_Punctuation",
Pd = "Dash_Punctuation",
Pe = "Close_Punctuation",
Pf = "Final_Punctuation",
Pi = "Initial_Punctuation",
Po = "Other_Punctuation",
Ps = "Open_Punctuation",
S  = "Symbol",
Sc = "Currency_Symbol",
Sk = "Modifier_Symbol",
Sm = "Math_Symbol",
So = "Other_Symbol",
Z  = "Separator",
Zl = "Line_Separator",
Zp = "Paragraph_Separator",
Zs = "Space_Separator",

Состав категорий

Egor_
()

fheroes2 0.8

 , ,

Группа Игры

Геройский привет всем любителям игры «Герои меча и магии 2»!

Рад сообщить, что свободный движок обновился до версии 0.8 (github.com)! Этот релиз был посвящен неравной борьбе за улучшение графической составляющей, которая в итоге претерпела значительные улучшения по всем фронтам:

  • исправлены и дополнены недостающие анимации юнитов, заклинаний и героев
  • воссозданы анимации заклинаний, которые ранее отсутствовали, но были в оригинальной игре
  • реализованы цикличные анимации на глобальной карте, в интерфейсах битвы и у построек внутри городов
  • исправлены более 200 ошибок и багов с прошлого релиза
  • улучшена общая отзывчивость интерфейса

Была поправлена логика взаимодействия с игровым окружением; уделено внимание улучшению работы музыкального сопровождения: помимо логических переходов одних звуковых тем к другим в нужные моменты, была добавлена поддержка звуковых дорожек более высокого качества и всё это вынесено и оформлено в настройках, как в оригинальной игре! В процессе улучшения находится ИИ. Переработаны алгоритмы для исключения многих логических ошибок в игре.

Значительно улучшена кодовая база проекта. И в ближайшем будущем грядут новые, еще более существенные, изменения. Так что, если вы хотели бы поучаствовать в развитии проекта - добро пожаловать к нашему костру, у вас есть возможность проявить свои геройские навыки C++.

С уважением, команда проекта fheroes2.

>>> Подробности (github.com)

shprotua
()

Поиск исполнителей и сбор донатов и на рефакторинг кода ядерной консоли.

 , , , ,

Лично я готов дать 10 т.р. и те кто готов присоединится к разработке или финансированию рефакторинга пусть отписываются в этой теме указав сумму, способ связи и начисления доната.
Разработчики(получатели доната) должны дополнительно указать что они за этот донат будут делать.
Пока надо только отмечать намерения донатить и писать код и обязательно оставлять контакты, я всех оповещу кастом по форуму и сообщением на контакты когда разговор станет предметным и надо будет решать, кто и как будет собирать донаты и кому их будут в итоге выплачивать.

Контакты можно публиковать не открытыми, а в виде команды пишущей их в терминале, например:
echo FM3SQOJSGEUTGNZQFUZDKLJVHEFA====|base32 -d

Создал в организации репозитарий, предлагаю обсуждение продолжить там:
https://github.com/Kernel-Crowdfunding/New-Linux-Console

Ссылка для записи разработчиков: Developers
Ссылка для записи спонсоров: Sponsors

Мотивация:

  1. Необходимость исправить указанные Линусом ошибки: Линуса гномеры покусали?
  2. Запуск иксов на дополнительной отдельной видеокарте нарушает работу консоли на основной видеокарте.
  3. Если раньше собственно консоль и иксы пользовались раздельными драйверами, и переключение в консоль при переполнении ОЗУ приводило к переключению на другой драйвер которому для нормальной работы хватало оставшейся памяти, что позволяло запустить htop и вручную удалить занимающий всю свободную память процесс, то теперь, когда благодаря KMS иксы и консоль используют один драйвер так уже сделать нельзя, распухшая графическая программа парализует работу графики и иксах, и в консоли.
    Подробнее можно прочитать здесь: Поиск исполнителей и сбор донатов и на рефакторинг кода ядерной консоли. (комментарий)

Что имхо надо, оно же ТЗ:

  1. Вынести код консоли в отдельный модуль ядра, который должен уметь принимать опции инициализации и как аргумент запуска модуля, и как опцию в командной строке ядра, при этом опции в командной строке ядра должны иметь приоритет, чтобы иметь возможность спасти положение при неправильном написании системных конфигов.
    При этом надо понимать то, что данное внесённое предложение предлагает не текущий ремонт подсистемы консоли, а полностью новый код для развития системы консоли с новым функционалом.
  2. В состав принимаемых модулем опций должны входить:
    2.1 Однозначная идентификация используемых видеопортов для подключения монитора должна осуществляться через указание конкретной используемой видеокарты по идентификаторам вендора, модели устройства,серийному номеру и идентификатору используемого для подключения монитора видеопорта.
    2.2 Аналогично однозначная идентификация назначаемых модулю клавиатуры и мыши, с указанием индентификаторов и типа подключаемого устройства ввода? Или может просто давать список устройств без указания их типа, а там модуль пусть разбирается сам, где мышь, а где клавиатура?
    2.3 Модуль должен использовать только статичное выделение памяти с запретом свопинга(Мотивация 3) и принимать в опциях размер буферов, под которые сразу должен выделять память и не менять самостоятельно её в процессе работы, но возможно создание в /proc или /sys отдельной директории с параметрами через которые можно будет поменять размер тех или иных буферов и поменять прочие настройки модуля.
  3. Должна быть предусмотрена возможность параллельной загрузки и работы нескольких таких модулей, на разных комплектах из видеокарты, клавиатуры и прочих USB устройств, этот модуль должен уметь проверять занятие устройств другими модулями и выдавать соответствующую ошибку и список со статусом, кто чем занят всех имеющихся устройств.
    Вообще надо подумать как этим модулем будут обрабатываться конфликты занятости того или иного устройства теми или иными модулями или программами ядра.
    Всё это надо за тем, чтобы за одним компом могло работать несколько человек с разных комплектов видеокарта + устройства ввода(клавиатура, мышь и пр.) и эти устройства не путались между различными модулями.
  4. Надо предусмотреть продолжение работы модуля при отключении или пропажи связи с тем иным устройством и возобновления работы с ним при его обратном подключении к системе.
    Должна быть предусмотрена возможность запуска модуля при отсутствии в системе назначенных ему устройств.
  5. Модуль должен использовать только общие стандартные интерфейсы видеокарт(Мотивация 3)
  6. При запуске на той или иной видеокарте иксервера модуль должен передавать и принимать управление видеокартой аналогично тому, как это происходило до появления KMS и modesetting.(Мотивация 3)
    Так же он должен суметь передать и все сопутствующие устройства ввода(тут возможно придётся попилить и икссервер)
  7. В принципе хорошо бы и сам графический сервер переписать так, чтобы при параллельном запуске нескольких экземпляров на разных видеокартах каждый экземпляр бы наследовал от модуля консоли привязанного к данной видеокарте назначенные этому модулю консоли устройства ввода, для этого надо предусмотреть экспорт информации о подключенных устройствах в файл на файловых системах /proc или /sys.
    (Сервер можно не переписывать, но механизм передачи и приёма устройств ввода предусмотреть нужно)
  8. Надо предусмотреть вывод консоли в стереорежиме при работе с устройством через VR шлем. Ничего сложного делать не надо, просто выводить текст на два экрана со смещением влево для левого и вправо для правого экрана для того чтобы при просмотре через VR шлем можно было просматривать текст обоими глазами, а не одним. Номера портов в видеокарте для вывода в стереорежиме и величина смещения кадров должна задаваться через параметр командной строке ядра и через специальные файлы в proc и sysfs.
  9. При подключении к видеокарте нескольких мониторов модуль должен вывести консоль на каждый монитор, при этом каждая выведенная консоль должна свободно переключатся на любую консоль, но при этом каждая консоль должна отобразатся только на одном экране, при этом при переключении консоли текущая консоль и консоль на которую переключаются должны менятся местами.

Перемещено leave из job

torvn77
()

Windows научилась монтировать файловые системы Linux на отдельных разделах через WSL2

 ,

Группа Проприетарное ПО

Последняя версия Windows 10 для инсайдеров (20211) получила очередное обновление подсистемы WSL 2 (Windows Subsystem for Linux). Теперь с помощью консольных команд без дополнительного ПО можно монтировать разделы (или целые диски) в подсистему WSL, а эта файловая система будет доступна всей Windows.

Теперь необходимости в стороннем ПО для монтирования ext4 нет; кроме того, указано, что можно монтировать и другие файловые системы. Так что теперь у дуалбутчиков обе системы могут видеть друг друга.

>>> Ссылка на блог Microsoft (microsoft.com)

FoodChemist
()

Работа с фотографиями в Linux

 , , ,

Color management:

  • colord — создание, установка и использование по назначению цветовых профилей. GNOME Color Manager и colord-kde — графические приложения для работы с colord в GNOME и KDE, соответственно
  • ArgyllCMS — CMS, необходимая для профилирования вашего фотоаппарата, монитора, сканера и принтера

Обработка, конвертация и управление коллекцией RAW-изображений

  • Darktable — наиболее динамично развивающийся, многофункциональный конвертер/каталогизатор
  • RawTherapee — другой отличный конвертер и каталогизатор в одном лице
  • Rawstudio — ещё один, похоже, приостановил развитие
  • Photivo — конвертер, но не каталогизатор с весьма немалым выбором доступных инструментов, по словам разработчиков, нацеленный на опытных фотографов
  • UFRaw — минималистичный RAW-процессор, для предпочитающих обрабатывать фотографии уже в графическом редакторе
  • digiKam — внезапно, тоже имеет базовый функционал RAW-конвертации
  • А если вы настолько просветлённый фотограф, что обрабатываете свои фотографии сидя в консоли, для вас есть dcraw, код которого используется в куче коммерческих и некоммерческих конвертеров

Графические редакторы

  • GIMP — просто без комментариев
  • Krita — больше подойдёт художнику, чем фотографу. Тем не менее, есть поканальные кривые, Lab, CMYK, маски, корректирующие слои и другие, греющие душу, возможности
  • AzPainter — редактор полноцветных изображений, с расширенным функционалом для редактирования фотографий (RGBA, 16bit), имеет некоторую поддержку *.PSD
  • Для просветлённых фотографов из предыдущего раздела подойдёт консольный пакет ImageMagick — на пару с dcraw позволит завалить мир шедеврами не загружая иксы

Управление фотоаппаратом с компьютера

  • gPhoto2 — библиотека, которая поддерживает 1800 камер, возможно и вашу
  • Entangle — позволяет управлять всеми настройками камеры и снимать непосредственно с компьютера

Focus stacking, склейка панорам и снимков с большим динамическим диапазоном (HDR)

  • Hugin — мощный инструмент для склейки панорам из нескольких снимков
  • krpano — создаёт интерактивные виртуальные туры в формате HTML5 и Flash-приложений (Проприетарен)
  • Kolor Autopano Giga — мультиплатформенный коммерческий пакет, предназначенный для склейки панорам и создания на их основе виртуальных туров
  • Luminance HDR — генерирует HDR-фоторафию из нескольких, различно экспонированных, снимков
  • MacroFusion — простая графическая надстройка над Enfuse, позволяющая, в том числе склеивать снимки, сделанные с брекетингом по фокусу, для получения большей ГРИП, например при макросъёмке

Time-lapse

  • Kdenlive — видеоредактор, умеющий склеивать последовательно снятые фотографии в видеоролик
  • ffmpeg или его форк libav — тот случай, когда работа с изображением из консоли будет вполне оправданна. Наборы библиотек и программ для работы с видео, в данном случае — для создания видеоролика из нескольких фотографий
  • slowmoVideo — программа, замедляющая получившийся видеоролик и делающая его более плавным

Астрофото

  • SIRIL — свободный обработчик астрофотографий, предназначенный, в основном, для астрономов-любителей

Работа с онлайн фото-стоками

  • Xpiks — приложение для атрибутированния и загрузки изображений на стоки для стоковых иллюстраторов и фотографов
ist76
()

icewm RequestFocusOnAppRaise vs IDEA - победа

 ,

После долгих мучений поборол проблему, которая меня ужасно доставала с тех пор, как я иногда начал пользоваться Intellij IDEA. Радостные чувства по этому поводу переполняют, поэтому хочу поделиться с анонимами и гуглом.

По непонятным причинам та на ровном месте просит Raise ( https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000580110-IntelliJ-icon-constantly-in-notification-status- ). Это приводит к неприятным побочным эффектам - миганию таскбара и появлению Идеи в окне QuickSwitch.

В icewm для этого есть сабжевая опция. Но если её убрать, ничего не происходит. Но оказывается, есть другая опция, которую надо выставить в любое значение - тогда эффект появляется.

Т.е. надо установить в ~/.icewm/preferences

RequestFocusOnAppRaise=0 # 0/1
FocusRequestFlashTime=1 # [0-86400]
allter149
()

Самый простой «редактор» изображений

 ,

Установил Ubuntu 20.04.1, где тут вообще редактор изображений? Нужна одна функция - уменьшить размер, сохранить в жпег с хорошим качеством и все. Желательно на GTK, но Qt тоже сойдет.

bhfq
()

Paragon Software предложила свою реализацию NTFS в upstream Linux

 ,

Группа Ядро Linux

Соучредитель и генеральный директор Paragon Software Group Константин Комаров опубликовал в рассылке Linux-Fsdevel патч с реализацией драйвера файловой системы NTFS, поддерживающего все основные операции - чтение, запись, работу с разряженными и упакованными файлами, расширенными атрибутами и восстановление данных и журнала файловой системы.

Код предоставлен под лицензией GPL и соответствует всем базовым требованиям для принятия патчей в ядро.

Пока что не решёнными являются вопросы аудита опубликованного кода и кандидатур его будущих ментейнеров.

>>> Подробности (opennet.ru)

LamerOk
()