LINUX.ORG.RU

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

Доступен язык программирования Hare

Новости — Разработка
Группа Разработка

Впервые представлен широкой публике язык программирования Hare, который разрабатывает Дрю ДеВолт (автор Sway и SourceHut) со своей командой последние пару лет.
Hare — язык для системного программирования с минималистичным рантаймом, статической типизацией и ручным управлением памятью.

Исходный код компилятора предоставляется под лицензией GPLv3, а для стандартной библиотеки под лицензией MPL (Mozilla Public License). Компилятор Hare не основан на LLVM или GCC, а использует легковесный qbe (c9x.me). Программы на Hare не линкуются с libc по умолчанию.

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

>>> Подробности

 , ,

dadd
()

wezterm — кроссплатформенный эмулятор терминала и мультиплексор с ускорением на GPU

Форум — Talks

Хочу познакомить вас с ещё одним кроссплатформенным эмулятором терминала и мультиплексором с ускорением на GPU – wezterm. Написан на Rust.

Возможности:

 , ,

dotcoder
()

Порекомендуйте шифрованные синхронизируемые заметки

Форум — Desktop

Мне нравится Orgzly (заметки в текстовых файлах orgmode, синхронизация через dropbox) и Syncthing (прямая синхронизация папок между устройствами).

Нужно добавить к этому набору шифрование и паролинг заметок того требующих. Это могут быть шифрованные файлы в синхронизируемой папке (какой формат? какой программой открывать?) или синхронизирумый блокнот с шифрованием.

Решение нужно для Linux и Android, не лишним будет и Windows.

 , ,

nightingale
()

Трудности перехода. Hex редактор

Форум — Desktop

Посоветуйте более-менее мощный hex-редактор для замены 010 Editor’a (Знаю, есть нативный, но цена как-то высоковата).

Нужно чтобы он

а) был графическим, qt|kde|gtk3

б) поиск/замена текста работала во всех открытых вкладках одновременно

в) имел встроенный скриптовый язык для обработки бинарных данных

На поддержку шаблонов данных и совместимость со скриптами 010 я уже даже не рассчитываю…

Все что я нашел - либо слишком примитивные, или консольные.

Может быть, существует какое-то расширение для vscodium которое так умеет?

 , ,

hargard
()

Простая программная генерация видео и картинок без стороннего API

Форум — Development

Покажу простой способ генерации видео программами на Python и C/C++ без использования стороннего API. Вам так же потребуется ffmpeg, без него вы не сможете конвертировать файлы в читаемые форматы!

Зачем это нужно?

Можно экспериментировать, например вы можете создать видео максимального качества и проверять как оно будет эффективно сжиматься тем или иным видео кодеком. Можете даже создать картинку с градиентом в 64-битном цвете и с дизерингом, мало ли какие ещё извращения можно придумать. Можно ещё делать видео с быстро движущимися объектами и сохранять его в 1000 кадров в секунду и потом тестировать всякие интерполяторы движения и моушн блюры.

Способ 1: на Python

С помощью скрипта на Python можно создать видео. Просто сохраните этот код в какой-нибудь «main.py»

import os
import sys

state = 0; # переменная нужная для анимации смещения узора
w = 320 # ширина кадра
h = 240 # высота кадра
fps = 25 # кадров в секунду
duration = 2 * fps # сколько длится видео (2 сек)
buffer = bytearray(w * h) # для хранения данных кадра
# генерация кадров
while state < duration:
  for y in range(0, h):
    for x in range(0, w):
      buffer[y * w + x] = ((x + state) ^ y) % 256 # генерация узора
  os.write(sys.stdout.fileno(), buffer) # кадр записывается в вывод консоли
  state += 1 # немного сдвинуть узор в следующем кадре

Далее исполняете команду в консоли:

python main.py | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

В результате у вас получится двухсекундное видео с узором out.mkv. Посмотреть демо гифку

Как это работает?

В командную строку Linux можно выводить не только текст, но и бинарные данные файлов, а так же эти данные можно перенаправлять в другую программу, в данном случае это ffmpeg который принимает RAW кадры и конвертирует их в видео. И в коде и в команде вызова должны совпадать fps/framerate и video_size/w/h иначе всё разъедется. Нельзя просто взять и написать данные пикселей в консоль через print, нужно записывать их в stdout как в файл через os.write. Если в коде изменить duration на 1, то создастся только один кадр с узором и его можно сохранить как картинку так:

python main.py | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -i pipe: out.png

Способ 2: на C/C++

Конечно Питон это медленно и я покажу как сделать это на C и C++, в этих языках стандартный поток вывода stdout тоже считается файлом и в него можно записывать бинарные данные.

C++

#ifdef WIN32 
  #include <fcntl.h>
#endif
#include <cstdio>
#include <iostream>
#include <cstdint>
#include <vector>

int main() {
  constexpr size_t fps = 25;
  constexpr size_t w = 320;
  constexpr size_t h = 240;
  constexpr size_t duration = fps * 5;
  constexpr size_t size = w * h;
  auto buffer = std::vector<uint8_t>(size);
  size_t state = 0;
#ifdef WIN32 
  setmode(fileno(stdout), O_BINARY);
#endif

  while (state < duration) {
    for (size_t y = 0; y < h; ++y)
    for (size_t x = 0; x < w; ++x)
      buffer[y * w + x] = (((x + state) ^ y) + state) % 256u;
    ++state;
    std::cout.write(reinterpret_cast<char*>(buffer.data()), size);
  }
}

Сборка и запуск:

g++ -Wall -O2 main.cpp -o prog
prog | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

C

#include <stdio.h>
#include <stdint.h>
#include <fcntl.h>
#include <malloc.h>

typedef uint8_t byte;

int main() {
  const int fps = 25;
  const int w = 320;
  const int h = 240;
  const int duratuion = fps * 5;
  const int size = w * h * sizeof(byte);
  byte *buffer = (byte*)malloc(size);
  int state = 0;
  freopen(NULL, "wb", stdout);

  while (state < duratuion) {
    for (int y = 0; y < h; ++y)
    for (int x = 0; x < w; ++x)
      buffer[y * w + x] = (((x + state) ^ y) + state) % 256;

    fwrite(buffer, 1, size, stdout);

    ++state;
  }

  free(buffer);
}

Cборка и запуск:

gcc -Wall -O2 main.c -o prog
prog | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

Как сохранить в FFmpeg видео в полном качестве

Я специально не указывал выходной видео кодек для упрощения команд, но вы можете добавить в ffmpeg опции -vcodec libx264rgb -crf 0 для сохранения видео в lossless качестве. Если вы модернизируете программу и добавите в неё поддержку RGBA цвета, то помните что h264 не умеет сохранять прозрачность в кадрах и вам лучше использовать кодек FFV1.

Что ещё можно сделать

  • Можно сгенерировать видео на любом языке программирования, если на нём можно переключить стандартный вывод в бинарный режим.
  • По такой же логике можно и перенастроить поток ввода stdin в бинарный режим и передать в программу бинарные данные из ffmpeg, таким образом можно будет смастерить видео-фильтр. В общем надо сделать что-то типа того: ffmpeg | фильтр | ffmpeg. Вообще можно просто написать Frei0r фильтр на Си и использовать его в ffmpeg, но мой способ просто не требует никакого стороннего API.
  • Поток можно перенаправлять и в файл и потом этот файл скармливать ffmpeg’у, но учтите что видео будет совсем без сжатия и несколько секунд видео 1280x720 будут весить гигабайты. Сделать это можно так:
prog > video.dat
fmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i video.dat out.mkv
  • Раз можно сгенерировать сырое видео, то можно и создать сырой PCM звук и конвертировать его в аудио форматы. Можно например генерировать мелодии и сохранять их в pcm_s16le поток. Опять же переключив stdin в pipe режим вы можете получать аудио поток извне, обрабатывать его своей программой и передавать далее, таким образом у вас получится аудио фильтр и не надо никакого VST/LADSPA API.

Заключение

Это очень простой способ создания видео (для программиста). Если что, в ffmpeg уже встроены некоторые генераторы тестовых видео. Сохраняются ли гигабайты сырых кадров в оперативной памяти при использовании такого способа передачи или же на диске - мне это неизвестно, возможно что у такого способа есть какие-то ограничения на размер передаваемых данных. Помните что в передаваемом потоке данных нет никаких меток синхронизации и если что-то где-то потеряется в пути, то видео всё станет кашей, так что не пытайтесь передавать такой поток через net cat (я не пробовал).

 , , , ,

HPW-dev
()

Программы - не стихи, их надо проектировать, а не писать.

Форум — Development

Этот пост как спроектировать.... заставил меня вспомнить о замечательном человеке и его статье. Есть такой дедушка, зав. кафедрой в ИТМО - Анатолий Шалыто. Очень толковый препод. И вот его статья «Программы –не стихи, их надо проектировать, а не писать» - http://is.ifmo.ru/main/article_ap.pdf .

Кроме критики сложившейся ситуации с производством ПО, Шалыто даёт ссылки на свои примеры проектирования и показывает почему так делать правильно. Ссылки прямо там в статье. Битых ссылок не встречал.

Вот самые интересные цитаты:

По мнению Шалыто, качество программ, в основном, обеспечивается не итоговым тестированием или верификацией, атем, что на ранних стадиях создания программы заказчик и разработчик однозначно и верно поняли друг друга и согласовали техническое задание.

Бардак с ПО творится почти во всем мире. Если аппаратура проектируется всегда, и только потом производится, то проектная документация на программы на практике выпускается крайнередко. Универсальный язык моделирования (UML), на который одно время у многих были большие надежды, используется далеко не всегда, причем даже в тех случаях, когда он применяется, диаграммы обычно строят одни люди –архитекторы, а другие –программисты в лучшем случае в них заглядывают.

Я считаю, что до того, как начинать программирование системы, необходимо разобраться с ее поведением, ипредлагаю не начинать сразу писать программу, а сначала нарисовать «картинки»–графы переходов, которые опишут поведение будущей программы в терминах состояний, переходов между ними и действий, выполняемых в состояниях и/илипереходах.

К чему это я? Мне хотелось бы узнать, много ли на ЛОРе среди разработчиков моих единомышленников - тех кто солидарен с мыслями изложенными в статье и тоже практикует проектирование ПО перед кодингом. А заодно интересно каким софтом вы пользуетесь для рисования схем, графов, алгоритмов. Может кто-то поделиться своими примерами проектов ПО.

PS, для модераторов. Линукс здесь при том, что:

Простота требует проектирования и хорошего вкуса.

Л. Торвальдс

 , , , ,

MittenShmitten
()

На чем писать десктопные приложения

Форум — Development

Потыкал електрон и чет это вообще калл какой-то, не понравился. JavaFx тоже так себе. Может попробовать Flutter или что сейчас норм для мультиплатформы?

Перемещено xaizek из general

 ,

andreyneansrey
()

qBittorrent 4.4.0

Новости — Интернет
qBittorrent 4.4.0
Группа Интернет

qBittorrent — это свободный кроссплатформенный клиент файлообменной сети BitTorrent, основанный на инструментарии Qt и библиотеке libtorrent-rasterbar. Программа распространяется под лицензией GNU General Public License version 2.
Начиная с этого выпуска, qBittorrent будет выходить и в виде Appimage.

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

>>> Подробности

 , ,

LINUX-ORG-RU
()

Curl 7.81.0

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

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

Видеопрезентация

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

>>> Подробности

 ,

LINUX-ORG-RU
()

Игры в терминале

Форум — Games

Данный топик про игры в юниксовом терминале. Здесь я буду на регулярной основе (в идеале) описывать в отдельном комментарии какую-нибудь игру. В стартер-посте будут ссылки на эти комментарии. Обзор будет не очень подготовленным, поэтому не ждите литературных изысков. Но тем не менее те, кто любит подобное красноглазие, смогут познакомиться с играми и выбрать на свой вкус понравившуюся вещицу. Данная тема создана по аналогии с соседним топиком про стимовские игры.

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

Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.

Критерии отбора:

  1. Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
  2. Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
  3. Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.

Источники игорей:

  1. https://ttygames.wordpress.com/
  2. https://github.com/ligurio/awesome-ttygames
  3. https://inconsolation.wordpress.com/
  4. https://kmandla.wordpress.com/
  5. https://ibiblio.org/pub/linux/games/ Артефакты прошлого. Игры для терминала надо искать. Не всё собирается с современным компилятором.
  6. gopher://sdf.org/9/users/saahriktu/bttf/gamez_p0.tar.lzma (использовать lynx) - сборник ascii игр, собранный камрадом @saahriktu
  7. https://www.youtube.com/user/livibetter/videos
  8. https://zenway.ru/tag/ASCII
  9. https://blends.debian.org/games/tasks/console
  10. ASCII игры по Linux
  11. Поиск на github.com, gitlab.com по соответствующим запросам
  12. Поиск рогаликов на http://www.roguebasin.com/index.php?title=Category:Roguelike_games
  13. Все поисковики, даже малоизвестные иногда выдают страницы, на которые не попадешь с гугла или яндекса.

Сами игори:

!!!NEW!!! 1. 8f (linux.org.ru) - Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

  1. Alienwave - Сложная Galaga-подобная игра с хорошим ascii-артом.
  2. Bricktick - Красивый клон арканоида с бонусами.
  3. CLines - Качественная реализация всеми известной офисной игры Color Lines.
  4. Dominoes - Реализация одного из вариантов игры Домино.
  5. Lwrace - Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».
  6. Morpion solitaire - Отличная реализация отличной же тетрадной игры Join Five.
  7. MyMan - Пакман для терминала с множеством настроек.
  8. Peg-solitaire.c - Добротная реализация одноименной настольной игры с 5-ю раскладками.
  9. XT gyoretsu - Воссозданная с любовью и с ncurses старая тетрадная игра.
  10. Ztrack - Псевдо-тридешные гоночки с красивым бэкграундом.
  11. to be continued

 , , ,

nab_linux
()

Игры про космос/фантастику/отмосферку/историю или типа того.

Форум — Games

Вот закончил The Swapper проходить (по совету анона взял очень не пожалел странно что раньше не слышал про неё и не видел нигде), до этого прошёл Alien Isolation. До этого прошёл две части Dead Space. До этого прошёл SOMA. Между делом другие были, но эти отражают то чего хоца. В них всех есть некий антураж общий. Ну так вот. Кто чего посоветует, на подобе или около того?

 , , ,

LINUX-ORG-RU
()

В KDE планируют в 2022 году достичь паритета сеансов X.Org и Wayland

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

Нейт Грэм (Nate Graham), ответственный за контроль качества в проекте KDE, поделился своими мыслями о том, в каком направлении проект будет развиваться в 2022 году. Ключевой план на 2022 год: сеанс на базе Wayland должен быть в состоянии полностью заменить сеанс с X11. Проблемы, блокирующие данный переход, всё менее существенны.

Среди других планов:

  • Объединение настроек языков и форматов в конфигураторе.

  • Переработка набора пиктограмм Breeze. Цветные пиктограммы будут визуально обновлены, смягчены, скруглены и избавлены от устаревших элементов, таких как длинные тени. Монохромные пиктограммы также будут модернизированы и адаптированы для лучшего сочетания с разными цветовыми схемами.

  • Решение всех проблем с многомониторными конфигурациями.

  • Поддержка инерционной прокрутки в программах на базе QtQuick.

  • Инициатива по исправлению как можно большего числа ошибок в KDE Plasma и связанных компонентах (KWin, конфигураторе, Discover и т. п.), которые всплывают в первые 15 минут работы в KDE. По мнению Нейта, подобные ошибки являются основной причиной формирования негативного мнения о KDE у пользователей.

>>> Источник (opennet.ru)

 , , ,

ipkirill21x
()

Новый формат изображений быстрее PNG в десятки раз

Новости — Мультимедиа
Новый формат изображений быстрее PNG в десятки раз
Группа Мультимедиа

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

Исходный код на C, состоящий из одного универсального файла, доступен на GitHub.

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

Также доступны реализации на Zig (github.com), Rust, Go (github.com), TypeScript, Python, C# (github.com). Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

>>> Подробности

 , , , qoi

former_anonymous
()

Программы для работы со звуком

Форум — Multimedia

Базовая система коммутации звуковых потоков:

  • Jack Audio Connection Kit - необходимый элемент системы для соединения разных звуковых устройств, музыкальных инструментов, микрофонов, программ для обработки звука.
  • QjackCtl - графический интерфейс для JACK на Qt4
  • Patchage - удобный графический инструмент для коммутации звуковых потоков и устройств, в частности MIDI.
  • KXStudio: Cadence - набор приложений для коммутации аудиопотоков и устройств, управления Jack-сервером, замера уровня сигнала...
  • KXStudio: Carla - хост аудиоплагинов, поддерживает LADSPA (включая LRDF), DSSI, LV2, VST2/3 и AU форматы плагинов,также поддерживаются файлы GIG, SF2 и SFZ. Работает с Jack и ALSA.

Программы для звукозаписи и обработки звука:

  • Audacity - достаточно простой, но удобный инструмент для записи и обработки звука.
  • Ardour - профессиональный инструмент для многоканальной, многодорожечной записи звука, поддерживает несколько разных источников.
  • Qtractor - многодорожечный аудио/MIDI секвенсор.

Гитарные процессоры:

  • Rakarrack - набор гитарных эффектов реального времени, комбиков, кабинетов, усилителей, множество предустановленных вариантов и возможность «накрутить» собственные
  • Guitarix - ещё один набор гитарных эффектов реального времени, комбиков, кабинетов, усилителей, множество предустановленных вариантов и возможность «накрутить» собственные.

Синтезаторы:

  • Amsynth - набор синтезаторов с множеством настроек и предустановок. Ввод нот осуществляется с MIDI-клавиатуры, которую удобно подключить при помощи Patchage
  • LMMS - мультимедийная студия с синтезаторами, секвенсорами, кольцами и эффектами.
  • ZynAddSubFX - набор синтезаторов: реального времени, полифонический, мультитембральный, микротональный. Также набор эффектов для обработки звука. Работает с Jack, поддерживает MIDI, в том числе и подключение MIDI-контроллеров.
  • Yoshimi - форк ZynAddSubFX с усовершенствованиями в направлении работы с Jack и MIDI.

Инструменты для создания трекерной музыки:

  • MilkyTracker - инструмент для создания трекерной музыки.
  • Schism Tracker - инструмент для создания трекерной музыки, основанный на модифицированной версии Modplug - OpenMPT

Драм-машины:

  • Hydrogen - удобная графическая драм-машина.
  • DrumGizmo - драм-машина в виде самостоятельно приложения, также и в виде плагина.

Наборы эффектов для обработки звука:

  • Linux Audio Developer's Simple Plugin API (LADSPA) - классический набор эффектов и алгоритмов для обработки звука, также язык для разработи музыкальных программ.
  • LV2 - следующее поколение LADSPA
  • Calf studio gear - набор эффектов и алгоримов для обработки звука.

Нотные редакторы:

  • TuxGuitar - графический нотный MIDI-редактор, есть возможность вбивать ноты на «гитарном грифе» и «пианино».
  • LilyPond - крайне минималистичный, но очень мощный текстовый «нотный компилятор», часть проекта GNU.
  • Frescobaldi - продвинутый графический интерфейс для LilyPond, удобен возможность работы с мышью
  • Denemo - ещё один продвинутый графический интерфейс для LilyPond
  • Rosegarden - графический нотный редактор и MIDI-секвенсор.
  • FluidSynth - MIDI-синтезатор реального времени без графического интерфейса, работающий по спецификациям SoundFont 2.
  • Qsynth - графический интерфейс для FluidSynth.
  • MidiEditor - простой MIDI-редактор.
  • Musescore - нотный MIDI-редактор с графическим интерфейсом.
  • MusE - MIDI-секвенсор.

Статья на LOR Wiki

 , , , ,

toney
()

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

Форум — Multimedia

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
()

sources.list

Форум — Desktop

Чёта я окончательно запутался чё откуда взялось, в смысле дебиановские репы. Может быть кто тоже wheezy и его родственниками пользуется? Мож чё посоветуете добавить иль убрать, или заменить...

#############################################################
################### OFFICIAL_DEBIAN_REPOS ###################
#############################################################

###### CRUNCHBANG
deb http://packages.crunchbang.org/waldorf waldorf main

###### Debian Repos
deb http://ftp.ru.debian.org/debian wheezy main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://mirrors.kernel.org/debian wheezy-backports main contrib

deb http://http.debian.net/debian/ wheezy-backports main contrib non-free

###### VLC
deb http://ftp.ru.debian.org/debian wheezy-backports main

###### Debian experimental
deb http://ftp.ru.debian.org/debian experimental main

###### Debian Multimedia
deb http://www.las.ic.unicamp.br/pub/debian-multimedia/ wheezy main non-free
deb http://www.deb-multimedia.org wheezy main non-free

###### Thunar 1.6.2
deb http://ftp.spline.de/pub/siduction/xfcenext unstable main

###### Mozilla
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release

###### Oracle VM VirtualBox
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free

###### Doom
deb http://debian.drdteam.org/ stable multiverse

###### Duke Nukem 3D
deb http://apt.duke4.net wheezy main

 ,

cinyflo
()

Выяснить в runtime по backtrace, из какого исходного файла была вызвана функция

Форум — Development

Есть один бинарник, который использует несколько библиотек и подозревается в чрезмерной растрате памяти (не утечке — динамика роста RSS не такая взрывная). Хочется выяснить, какая библиотека за это ответственна. Для этого можно взять jemalloc, добавить вручную арен и средствами jemalloc уже вести учет выделенной памяти. Но появляется важный нюанс: как выяснить, кто позвал *alloc?

Для динамической линковки есть довольно надежный способ: сначала через backtrace, а в релизной версии грязными ассемблерными хаками получаем адрес возврата, через `/proc/$pid/map` понимаем, к какой so-шке относится этот адрес и дальше ведем себя соответственно.

Как быть при статической линковке? Есть ли способ отредактировать объектный файл, переопределив имя внешнего символа? Я знаю трюк с частичной линковкой (ld -r), когда можно подставить заглушку, которая будет вызывать нужный метод (так, например, можно все аллокации из libfoo.a заставить использовать malloc_foo/free_foo ценой одного косвенного перехода), но вдруг есть способ лучше?

На всякий случай уточню: исходники трогать нельзя, потому что: 1) так может каждый; 2) хочется странного

 ,

kawaii_neko
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Linux демо победило на фестивале Chaos Constructions 2021

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

По итогам прошедшего фестиваля компьютерного искусства Chaos Constructions 2021, в номинации One Scene demo compo первое место заняло кроссплатформенное демо Retrogram. Традиционно, в качестве программной PC-платформы для создания демо используется Windows, и множество инструментов демосцены существует только под платформу компании Микрософт. Однако Retrogram было изначально разработано под ОС Linux, а затем была сделана кроссплатформенная сборка, пригодная для запуска и в среде Windows.

В качестве OpenGL-обвязки была использована модифицированная open source утилита Bonzomatic, предназначенная для проведения реалтаймовых конкурсов в формате Shader Showdown. Сама сцена была написана на фрагментном GLSL шейдере с классической реализацией алгоритма Ray March с беззастенчивым использованием заранее подготовленных текстур. В процессе разработки была найдена ошибка в вычислении арктангенса в драйверах Mesa 13 в связке с Intel HD Graphics 4000 (используется в Debian 9), которая была исправлена в Debian 10.

Скриншот был сделан в момент проверки работоспособности демо на видеокарточке GeForce GT 640 с драйверами Mesa 18.1.3 в Astra Linux 1.6.

Следует отметить, что в номинации One Scene demo compo так же на первом месте (одинаковое количество очков) была демо Hypnotoad со всеми любимой гипножабой для ZX Spectrum от товарища Norduk, известного своими многочасовыми стримами на Youtube.

Подробности о демо и конференции CC2021 можно прочитать на сайте автора Retrogram.

 , ,

Xintrea
()

23 года Linux.org.ru

Новости — Linux.org.ru
Группа Linux.org.ru

23 года назад, в октябре 1998 года, был зарегистрирован домен Linux.org.ru.

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

>>> Подробности

 

maxcom
()